SCOPE_IDENTITY()的同步问题

时间:2013-10-04 10:01:20

标签: sql sql-server

抱歉,如果这个问题很愚蠢,但我似乎无法找到答案。刚开始使用SQL。我正在阅读Get the last inserted row ID (with SQL statement)的答案,似乎SCOPE_IDENTITY是“最新插入的值”。此操作是否在插入后立即锁定,因为如果没有,则另一个新插入的行可能会在插入后立即插入我想要获取ID的内容。

感谢您的帮助!

2 个答案:

答案 0 :(得分:5)

要通过SQL查询获取最新插入的行信息,您有三个选项:

@@IDENTITY:它返回在所有范围内为当前会话中的任何表生成的最后一个标识值

SCOPE_IDENTITY:它返回为当前会话中的任何表和当前范围生成的最后一个标识值。

IDENT_CURRENT:它返回在任何会话和任何范围内为特定表生成的最后一个标识值

答案 1 :(得分:1)

您还应该学习使用Scope_Identity的另一种选择 - 阅读有关使用OUTPUT子句的内容:http://msdn.microsoft.com/en-us/library/ms177564(v=sql.100).aspx/html