抱歉,如果这个问题很愚蠢,但我似乎找不到答案。刚开始使用 SQL。我正在阅读Get the last inserted row ID (with SQL statement)的答案,似乎 SCOPE_IDENTITY 是“最新插入的值”。此操作是否在插入后立即锁定,因为如果没有,那么另一个新插入的行可能会成为在我打算获取其 ID 的插入之后立即插入的内容。
谢谢您的帮助!
抱歉,如果这个问题很愚蠢,但我似乎找不到答案。刚开始使用 SQL。我正在阅读Get the last inserted row ID (with SQL statement)的答案,似乎 SCOPE_IDENTITY 是“最新插入的值”。此操作是否在插入后立即锁定,因为如果没有,那么另一个新插入的行可能会成为在我打算获取其 ID 的插入之后立即插入的内容。
谢谢您的帮助!
要通过 SQL 查询获取最新插入的行信息,您有三个选项:
@@IDENTITY
:它返回为当前会话中的任何表生成的最后一个标识值,跨越所有范围
SCOPE_IDENTITY
:它返回为当前会话和当前范围中的任何表生成的最后一个标识值。
IDENT_CURRENT
:它返回在任何会话和任何范围内为特定表生成的最后一个标识值
您还应该研究使用 Scope_Identity 的另一种替代方法 - 阅读有关使用 OUTPUT 子句的信息:http: //msdn.microsoft.com/en-us/library/ms177564 (v=sql.100).aspx/ html