I know Scope_Identity()
, Identity()
, @@Identity
, and Ident_Current()
所有人都获得身份列的值,但我很想知道其中的区别。
我遇到的部分争议是,应用于上述这些函数的范围是什么意思?
我还想要一个使用它们的不同场景的简单示例?
- The
@@identity
函数返回在同一会话中创建的最后一个身份。
- The
scope_identity()
函数返回在同一会话和同一范围内创建的最后一个身份。
- The
ident_current(name)
返回为任何会话中的特定表或视图创建的最后一个标识。
- The
identity()
函数不用于获取身份,它用于在 a 中创建身份select...into
query.
会话是数据库连接。范围是当前查询或当前存储过程。
一种情况scope_identity()
和@@identity
功能有所不同,如果您的桌子上有触发器。如果您有一个插入记录的查询,导致触发器在某处插入另一条记录,则scope_identity()
函数将返回由查询创建的身份,而@@identity
函数将返回触发器创建的标识。
所以,通常你会使用scope_identity()
功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)