@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT
2010-04-20 22:42
375 查看
内容引用自:
@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的辨析
http://www.cnblogs.com/xlong1900/archive/2008/09/01/1281001.html
@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的辨析
@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的辨析
http://www.cnblogs.com/xlong1900/archive/2008/09/01/1281001.html
@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的辨析
SQLServer中@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的作用 相同点: 它们都返回插入到IDENTITY列中的值。 不同点: A. @@IDENTITY不受作用域(存储过程、触发器、函数或批处理)的限制。返回最后一个插入的IDENTITY值。如果在程序中不同的作用域插入的表不同,那么返回最后一个表插入的IDENTITY值。例如:作用域A(存储过程)在表T1上插入IDENTITY列,而T1上的触发器会在T2上插入IDENTITY列。则用@@IDENTITY返回T2上插入的IDENTITY值。 B. SCOPE_IDENTITY()受作用域的限制,只返回当前作用域中的最后一个IDENTITY值。上例中,如果在存储过程中使用SCOPE_IDENTITY(),则返回T1的IDENTITY值。 C. IDENT_CURRENT()不受作用域的限制,调用它时必须提供表示表名的字符型参数,你可以得到你想要的任何表的最后一个IDENTITY值,即使你的代码里没有插入动作。例如:IDENT_CURRENT('T1'); 经验: 根据不同的使用场合,选择不同的函数。如果在写存储过程时,向表中新增了一条数据,需要返回该IDENTITY值,则使用 SCOPE_IDENTITY(),因为它和当前会话相关联,不会返回一个你不需要的值。如果你仅仅想得到某个IDENTITY列的最后一个值,则使用 IDENT_CURRENT()最方便。
相关文章推荐
- 糟糕的@@identity,SCOPE_IDENTITY ,IDENT_CURRENT
- @@IDENTITY,IDENT_CURRENT,SCOPE_IDENTITY,IDENT_INCR,IDENT_SEED详解
- @@identity , SCOPE_IDENTITY,IDENT_CURRENT 三者的异同
- SQL 获取最新ID,scope_identity() ,@@identity,ident_current
- SCOPE_IDENTITY、IDENT_CURRENT 和@@IDENTITY的比较
- @@identity , SCOPE_IDENTITY,IDENT_CURRENT 三者的异同
- 获取sql server中自增量之scope_identity(),@@Identity,IDENT_CURRENT的区别
- @@IDENTITY与SCOPE_IDENTITY() 及IDENT_CURRENT 的区别
- SQLServer中的@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT
- SCOPE_IDENTITY、IDENT_CURRENT和@@IDENTITY的比较
- scope_identity(), @@IDENTITY, IDENT_CURRENT()区别
- SCOPE_IDENTITY()、@@IDENTITY、IDENT_CURRENT() 用法
- 转载:SCOPE_IDENTITY、IDENT_CURRENT和@@IDENTITY比较
- 关于如何使用SqlServer中@@Identity、@@IDENT_CURRENT、@@SCOPE_Identity获取自动生成列的值的区别(精简版)
- @@IDENTITY,SCOPE_IDENTITY()和IDENT_CURRENT('TableName') 用法
- SCOPE_IDENTITY()、@@IDENTITY、IDENT_CURRENT()
- SQLServer中@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的作用
- IDENT_CURRENT('表名')、@@IDENTITY、SCOPE_IDENTITY
- @@IDENTITY和SCOPE_IDENTITY和IDENT_CURRENT的区别
- [MSSQL]SCOPE_IDENTITY,IDENT_CURRENT以及@@IDENTITY的区别