内容引用自:
@@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()最方便。

转载于:https://www.cnblogs.com/kiant71/archive/2010/04/20/1752004.html

@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT相关推荐

  1. oracle select @@identity,SQL区别@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT

    预备知识:SQLServer的IDENTITY关键字 IDENTITY关键字代表的是一个函数,而不是identity属性.在access里边没有这个函数,所以在access不能用这个语句.语法:ide ...

  2. Sql Server插入数据并返回自增ID,@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的区别

    预备知识:SQLServer的IDENTITY关键字 IDENTITY关键字代表的是一个函数,而不是identity属性.在access里边没有这个函数,所以在access不能用这个语句.语法:ide ...

  3. mysql ident current_sql server 2000 @@IDENTITY和SCOPE_IDENTITY和IDENT_CURRENT的区别

    @@IDENTITY和SCOPE_IDENTITY和IDENT_CURRENT的区别 1,@@IDENTITY是得到当前会话的所有范围的最后插入的IDENTITY值 2,SCOPE_IDENTITY是 ...

  4. @@identity、scope_identity()、IDENT_CURRENT('tablename')函数的区别

    @@IDENTITY 和SCOPE_IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值.但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值:@@IDENTITY 不受限于 ...

  5. SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY区别

    IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表.IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值.调用它时必须提供表示表名的字符型参数,你可以得到你想要的任 ...

  6. 关于@@IDENTITY、SCOPE_IDENTITY ()、IDENT_CURRENT ('tableName')

    三者均可以返回当前会话中的所有表中生成的最后一个标识值. 只是如果对表进行了复制操作,则会影响@@IDENTITY的值,此时@@IDENTITY不能做为可靠的指示器. 转载于:https://www. ...

  7. dotnet 获得存储过程返回值和输出参数有什么不同 @@IDENTITY SCOPE_IDENTITY()

    存储过程1: Create PROCEDURE CreateNewUser @UserName varchar(50), @Password varchar(50), @Description var ...

  8. SCOPE_IDENTITY和@@identity的区别

    SCOPE_IDENTITY.IDENT_CURRENT 和 @@IDENTITY 是相似的函数,因为它们都返回插入到标识列中的值. IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的 ...

  9. @@IDENTITY与SCOPE_IDENTITY()

    @@IDENTITY与SCOPE_IDENTITY() 在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值.如果语句未影响任何包 ...

最新文章

  1. 写给那些在技术路上奔跑的人们!!!!!
  2. linux系统文件查找实验报告,Linux 文件查找与打包
  3. 通过jQuery EasyUI实现基本的拖放,此为转发!!大家学习讨论
  4. Linux教程:10条秘诀确保Linux桌面安全性
  5. docker 启动容器的时候没-p 后面怎么加-p_基于Docker搭建基础自动化部署
  6. Python ord(),chr()函数
  7. Java编程思想精彩评注分享之二
  8. jQuery easing动画效果扩展
  9. 图神经网络(GCN)
  10. abb机器人伺服电机报闸是什么_什么是抱闸电机
  11. Windows自带照片查看器恢复办法
  12. 微信支付二维码生成工具类
  13. 使用hosts屏蔽网站
  14. Windows下的虚拟桌面软件——Virgo
  15. Java swing+Mysql商品销售管理系统
  16. win服务器系统无法切换输入法,win10输入法切换不了怎么办?win10无法切换输入法现象的解决方法...
  17. pycharm报错The directory *** is registered as a Git root与 Can't start Git: git.exe
  18. android 蓝牙打印兼容,在Android中使用蓝牙打印机打印不起作用
  19. 【每日面试】2021北京联通Java一面
  20. python 一个例子解释全局变量和局部变量

热门文章

  1. python的numpy教程_python numpy 基础教程 | 学步园
  2. VB 遍历指定目录及子目录所有文件函数
  3. MIT深度学习课堂开课啦,自动驾驶圈大牛排队来讲课丨资源
  4. 拿到软银巨额投资后,通用无人车部门Cruise可能要单独IPO了
  5. Google人工智能面试·真·题(附参考答案+攻略)
  6. Rokid祝明铭:大腿我们不抱,人机交互产品形态未定 | 变局者
  7. IOS下图片不能显示问题的解决办法
  8. Spring和SpringMVC父子容器关系初窥
  9. linux 下ip命令对比ifconfig命令
  10. oralce 存储过程、函数和触发器