检索最后的标识:@@IDENTITY、SCOPE_IDENTITY() 和 OUTPUT
将新记录插入表中通常涉及检索最后生成的记录列的标识值。为此目的,存在多种方法,包括 @@IDENTITY、SCOPE_IDENTITY() 和 OUTPUT。
@@IDENTITY
@@IDENTITY 检索生成的最后一个身份值当前连接,无论表或范围如何。它返回由最近插入生成的标识值,即使是由另一个操作触发的。但是,此方法不是范围安全的。
SCOPE_IDENTITY()
SCOPE_IDENTITY() 另一方面,是范围安全的。它返回语句当前范围内生成的最后一个标识值。这意味着如果触发器插入记录并生成标识值,SCOPE_IDENTITY() 将不会返回该值,除非该值是由调用 SCOPE_IDENTITY() 的同一语句生成的。
OUTPUT 方法
OUTPUT 方法是检索标识值的另一个选项。它返回插入行的表,包括插入期间生成的标识值。此方法也是范围安全的,因为它仅检索当前语句插入的行的标识值。
决定最佳方法
方法的选择用于检索最后一个身份值取决于具体场景:
以上是如何在 @@IDENTITY、SCOPE_IDENTITY() 和 OUTPUT 之间进行选择以检索最后的身份值?的详细内容。更多信息请关注PHP中文网其他相关文章!