使用 IDENTITY
而不是 SCOPE_IDENTITY
的原因主要有以下几点:
IDENTITY
是 SQL Server 提供的一种用于获取插入数据的标识列值的方法,而 SCOPE_IDENTITY
是在当前会话范围内获取最后一个插入数据的标识列值。相比之下,IDENTITY
的执行速度更快,因为它不需要等待当前会话范围内的所有操作完成。IDENTITY
可以在任何会话范围内使用,而 SCOPE_IDENTITY
只能在当前会话范围内使用。这意味着,如果需要在多个会话之间共享标识列值,SCOPE_IDENTITY
可能不是最佳选择。IDENTITY
可以与 OUTPUT
子句一起使用,从而允许在插入多行数据时返回所有新插入行的标识列值。而 SCOPE_IDENTITY
只能返回最后一行插入的标识列值。因此,在需要获取插入数据的标识列值时,使用 IDENTITY
而不是 SCOPE_IDENTITY
通常是更好的选择。
领取专属 10元无门槛券
手把手带您无忧上云