在ms sql server中一张表有自增长字段,最近插入表中记录的自增长字段可以通过@@IDENTITY或者SCOPE_IDENTITY()取得。

通常情况下@@IDENTITY 和 SCOPE_IDENTITY()可以起到同样的效果,但是也不尽然,他们两者之间还是有区别的。微软的文档上这样描述:
@@IDENTITY and SCOPE_IDENTITY return the last identity value generated in any table in the current session. However, SCOPE_IDENTITY returns the value only within the current scope; @@IDENTITY is not limited to a specific scope.
也就是说通常情况用SCOPE_IDENTITY()总是可以得到当前范围内最近插入行生成的标示值,而@@IDENTITY则不限于当前范围内。

我之前一直使用SELECT @@IDENTITY来取得最近插入记录的标示值,这在没有使用触发器的情况下是没有问题的,但是保险起见还是使用SCOPE_IDENTITY()更好一些。

转自:http://www.cnblogs.com/yukaizhao/archive/2009/12/29/identity_vs_scope_identity.html

转载于:https://www.cnblogs.com/zhanghai/p/4703257.html

谈谈@@IDENTITY 和 SCOPE_IDENTITY()的区别相关推荐

  1. ◎◎identity ,ident_current() ,scope_identity的区别

    一直以来都是使用@@identity来获得最后一个插入到表的记录的identity值,最近发现这种方法在某种情况是不可靠的,先来看看两个概念 作用域:在SQLSERVER作用域就是一个模块-存储过程, ...

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

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

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

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

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

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

  5. @@IDENTITY与SCOPE_IDENTITY()

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

  6. MSSql Server 中@@IDENTITY与SCOPE_IDENTITY()

    @@IDENTITY 和 SCOPE_IDENTITY 可以返回当前会话中的所有表中生成的最后一个标识值.但是,SCOPE_IDENTITY 只在当前作用域内返回值,而 @@IDENTITY 不限于特 ...

  7. @@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT

    内容引用自: @@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的辨析 http://www.cnblogs.com/xlong1900/archive/2008/09/0 ...

  8. 谈谈Java与C#的区别

    先听一个故事:Java与C/C++/C#的历史渊源 1972年的某一天,一个被称为"上帝的编程语言"的工具就此诞生,它是基于B语言的改进,并被正式命名为C语言.凭借着自身的优秀特性 ...

  9. 【每日一题~001】谈谈synchronized与ReentrantLock的区别?

    每日一题,共同成长,见证奇迹,加油老铁 问题:谈谈synchronized与ReentrantLock的区别?思考:2分钟...答案如下:1.底层实现:1)synchronized 是JVM层面的锁, ...

最新文章

  1. CSDN与易观联合发布《2017-2018中国人工智能产业路线图》
  2. IOS开发笔记3-C语言基础复习
  3. [转]设计模式(22)-Strategy Pattern
  4. UA MATH636 信息论9 Reed-Solomon Code
  5. nginx 学习笔记(5) nginx调试日志
  6. 扩展的母函数(可以做减法的母函数)(当然只要你愿意也可以做乘除!)
  7. c++ winpcap开发(2)
  8. 三个案例快速入门Nettty
  9. 做32跟做linux哪个挣钱,想做年薪20万招聘人才,先看会不会这28个Linux运维岗经典面试题...
  10. CV | 运动目标检测 之 背景差分法
  11. 【Grafana】【一】Grafana 简介
  12. 计算机桌面图标不可以移动怎么调,电脑桌面图标不能随意拖动,怎么随意拖动桌面图标...
  13. CreateJS 制作 H5 长图动画
  14. 《Android游戏编程之从零开始》书评之基础的魅力
  15. RK3588平台开发系列讲解(AUDIO篇)Linux音频调试--alsa-utils 工具
  16. 思博伦Avalanche中的Load类型定义_双极未来
  17. 1.Cocos跑酷游戏——List工具篇
  18. Error: mkl-service + Intel(R) MKL: MKL_THREADING_LAYER=INTEL is incompatible with libgomp.so.1 libra
  19. Fitbit融资7.3亿美元上市了 成可穿戴设备第一股
  20. 三本计算机怎么调音乐,读三本音乐教材

热门文章

  1. 探索客户端JavaScript
  2. SpringCloud与Docker微服务架构实战pdf
  3. mysql sql demo
  4. 配置Groovy开发运行环境
  5. 什么时候用activity什么时候用fragment
  6. Android 本地css引用
  7. appcompat_v7\res\values-v21\themes_base.xml:158: error: Error: No resource
  8. Android Jetpack组件之 LiveData使用-源码
  9. React Native之箭头函数和延展操作符(...)
  10. 计算机基础知识自考真题,自考《计算机应用基础》基础试题