2

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

谢谢您的帮助!

4

2 回答 2

5

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

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

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

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

于 2013-10-04T11:09:26.323 回答
1

您还应该研究使用 Scope_Identity 的另一种替代方法 - 阅读有关使用 OUTPUT 子句的信息:http: //msdn.microsoft.com/en-us/library/ms177564 (v=sql.100).aspx/ html

于 2013-10-04T12:45:05.240 回答