@@IDENTITY 和SCOPE_IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。建议谨慎使用@@identity。
IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 可以返回任何会话和任何作用域中为特定表生成的标识值。
DBCC CHECKINDNT可以查看指定表当前identity值,并且可以用它来重置INDENTITY的值
下面是DBCC CHECKIDENT的用法。
DBCC CHECKIDENT (TableName [,RESEED | NORESEED] [,value])
查看某个表中的Identity(自增列)当前值:DBCC CHECKIDENT (TableName)或DBCC CHECKINDET( TableName,NORESEED )
重置某个表中的Identity(自增列)当前值为value:DBCC CHECKIDENT (TableName, RESEED, value)
例如,把 test表中的 自增列 的当前值改为 1 可以用如下命令
DBCC CHECKIDENT (test, RESEED,1)