检索最后的标识值:方法和范围
在使用利用主键标识的表时,开发人员经常遇到需要检索新插入的身份的值。虽然此任务存在多种方法,但范围和性能考虑因素在确定适当的方法时起着至关重要的作用。
@@IDENTITY 与 SCOPE_IDENTITY()
两者都是 @ @IDENTITY 和 SCOPE_IDENTITY() 检索连接中生成的最后一个标识值。但是,@@IDENTITY 不受范围限制,可以返回先前查询或触发器生成的身份,无论其范围如何。另一方面,SCOPE_IDENT TY() 将其范围限制为生成身份的特定连接和查询,确保它仅返回所需的值。
输出方法
OUTPUT 子句可用于检索 INSERT 语句中的标识。通过将其包含在查询中,新创建的标识值可以与其他插入的列一起返回。这种方法很方便,但在只需要身份值的情况下可能会导致性能下降。
选择正确的方法
方法的选择取决于具体情况申请要求:
OUTPUT 方法的作用域安全
OUTPUT 方法是作用域安全的,这意味着它只返回当前查询在同一个查询中生成的标识会议。它不会检索其他查询或触发器生成的身份。这可确保数据完整性并防止意外的副作用。
以上是如何检索 SQL Server 中的最后一个标识值:@@IDENTITY 与 SCOPE_IDENTITY() 与 OUTPUT?的详细内容。更多信息请关注PHP中文网其他相关文章!