当前位置:  开发笔记 > 数据库 > 正文

scope_identity vs ident_current

如何解决《scope_identityvsident_current》经验,为你挑选了1个好方法。

经过大量的研究后,我对我应该在sql中使用哪个身份跟踪器感到有些困惑.

根据我的理解,scope_identity将为我提供从任何表更新的最后一个id,ident_current将返回指定表中的最后一个id.

所以鉴于这些信息,在我看来,最好使用的版本(如果您知道要更新哪个表)是ident_current.然而,在阅读时,似乎大多数人更喜欢使用scope_identity.这背后的原因是什么,我的逻辑是否存在缺陷?



1> SQLMenace..:

在这种情况下,您需要编写表名,如果您决定更改表名,会发生什么?您还必须忘记更新代码以反映这一点.除非我需要触发器中插入的ID,否则我总是使用SCOPE_IDENTITY然后我将使用@@ IDENTITY

另外更大的区别是IDENT_CURRENT将从另一个执行插入的进程(换句话说,来自任何用户的最后生成的标识值)中提供身份,因此如果您执行插入操作,然后有人在您执行SELECT IDENT_CURRENT之前执行插入操作会获得其他人的身份价值

另请参阅6种获取当前标识值的不同方法,其中包含一些代码,说明将触发器放在表上时会发生什么

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有