scope_identity和identity的区别
2017-01-21 16:58
239 查看
scope_identity 和 @@identity 返回在当前会话中的任何表内所生成的最后一个标识值。
但是,scope_identity只返回插入到当前作用域中的值;
@@identity 不受限于特定的作用域。
示例:
有两个表 1 和 2,并且在 1 上定义了 insert 触发器。当将某行插入 1 时,触发器被激发,并在 2 中插入一行。
该方案演示了两个作用域:在 1 上的插入,以及在 2 通过触发器的插入。
假设 1 和 2 都有标识列,
@@identity 和 scope_identity 将在 T1 上的 insert 语句的最后返回不同的值。
@@identity 将返回在当前会话中的任何作用域内插入的最后一个标识列的值。这是在 T2 中插入的值。
scope_identity() 将返回在 T1 中插入的 identity值。这是在同一个作用域内发生的最后的插入。
如果在任何insert语句作用于作用域中的标识列之前调用 scope_identity() 函数,则该函数将返回空值。
但是,scope_identity只返回插入到当前作用域中的值;
@@identity 不受限于特定的作用域。
示例:
有两个表 1 和 2,并且在 1 上定义了 insert 触发器。当将某行插入 1 时,触发器被激发,并在 2 中插入一行。
该方案演示了两个作用域:在 1 上的插入,以及在 2 通过触发器的插入。
假设 1 和 2 都有标识列,
@@identity 和 scope_identity 将在 T1 上的 insert 语句的最后返回不同的值。
@@identity 将返回在当前会话中的任何作用域内插入的最后一个标识列的值。这是在 T2 中插入的值。
scope_identity() 将返回在 T1 中插入的 identity值。这是在同一个作用域内发生的最后的插入。
如果在任何insert语句作用于作用域中的标识列之前调用 scope_identity() 函数,则该函数将返回空值。
相关文章推荐
- SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别(比较) - z
- SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别比较
- IDENT_CURRENT、@@IDENTITY 和 SCOPE_IDENTITY 的区别
- SQL @@Identity ,Scope_identity() 区别
- SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别(比较)
- ◎◎identity ,ident_current() ,scope_identity的区别
- @@identity与scope_identity()函数的区别
- @@IDENTITY 和 SCOPE_IDENTITY() 的区别
- sql 中获取最后生成的标识值 IDENT_CURRENT ,@@IDENTITY ,SCOPE_IDENTITY 的用法和区别
- SCOPE_IDENTITY 和 @@IDENTITY 的区别
- SCOPE_IDENTITY和@@identity的区别
- 测试@@IDENTITY,SCOPE_IDENTITY,IDENT_CURRENT的区别
- SCOPE_IDENTITY和@@identity的区别
- SQL查询之 [SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别(比较)]
- SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别比较
- sql server 2000 @@identity、Scope_identity()、ident_current的区别
- SCOPE_IDENTITY和@@identity的区别[转]
- SCOPE_IDENTITY和@@identity的区别
- SQLserver 获取数据表新插入记录ID方法---SCOPE_IDENTITY与@@INDENTITY的区别
- @@identity与scope_identity()函数的区别