【发布时间】:2011-03-19 22:19:27
【问题描述】:
如何获取表的最后一个或下一个标识?
【问题讨论】:
标签: sql sql-server tsql
如何获取表的最后一个或下一个标识?
【问题讨论】:
标签: sql sql-server tsql
返回插入到同一范围内的标识列中的最后一个标识值。范围是一个模块:存储过程、触发器、函数或批处理。因此,如果两条语句在同一个存储过程、函数或批处理中,则它们属于同一范围。
关于这个问题的更多信息 - How Do You Tell What Next Identity Column Will Be?
还有这个——SQL Identity (autonumber) is Incremented Even with a Transaction Rollback
【讨论】:
您还可以在 Management Studio 中使用以下方法查询表的当前 IDENTITY:
DBCC CHECKIDENT('YourTable')
但这并不能可靠地告诉您下一个 IDENTITY 将是什么 - 请不要尝试自己计算下一个 IDENTITY!让 SQL Server 处理它并在插入发生后使用 SCOPE_IDENTITY() 抓取它 - 只有那个才是相关的,真的。
【讨论】: