SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的比较_aom. ident-程序员宅基地

技术标签: null  insert  数据库  sql server  

SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。

IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。
@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。
SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生成的标识值

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


例如,有两个表 T1 和 T2,在 T1 上定义了一个 INSERT 触发器。当将某行插入 T1 时,触发器被激发,并在 T2 中插入一行。此例说明了两个作用域:一个是在 T1 上的插入,另一个是作为触发器的结果在 T2 上的插入。


假设 T1 和 T2 都有 IDENTITY 列,@@IDENTITY 和 SCOPE_IDENTITY 将在 T1 上的 INSERT 语句的最后返回不同的值。


@@IDENTITY 返回插入到当前会话中任何作用域内的最后一个 IDENTITY 列值,该值是插入 T2 中的值。


SCOPE_IDENTITY() 返回插入 T1 中的 IDENTITY 值,该值是发生在相同作用域中的最后一个 INSERT。如果在作用域中发生插入语句到标识列之前唤醒调用 SCOPE_IDENTITY() 函数,则该函数将返回 NULL 值。


而IDENT_CURRENT('T1') 和 IDENT_CURRENT('T2') 返回的值分别是这两个表最后自增的值。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chenguang79/article/details/2737644

智能推荐

实测阿里“通义千问”!一花独放不是春,百花齐放春满园-程序员宅基地

文章浏览阅读202次。阿里的大模型“通义千问”今天开启内测,距百度“文心一言”发布差不多20天。今天看到消息后厚着脸皮找达摩院的朋友要邀请码,下午拿到后,赶紧测了一下。官方网址:https://tongyi.aliyun.com/chat刚好上次文心一言出来的时候测试过一次,有一些现成的case,于是又用这些case测了一轮,有一些随意,个人观点,仅供参考。帮我写一份招聘JD,第一步没问题,让继续写实习生JD的时候,大..._通义千问7b 微调 csdn

效率工具:Doxygen(注释文档自动生成工具)_自动生成注释的工具-程序员宅基地

文章浏览阅读5.6k次。参考资料: Doxygen使用教程(个人总结) 强大的Doxygen工具使用手册_自动生成注释的工具

GRBL归位_grbl 关闭z轴-程序员宅基地

文章浏览阅读244次。其原理是在指定的方向上快速移动,碰到限位开关,说明已经到达初始位置,为了精确定位,还会回拉一小段距离进入精确定位阶段,然后慢速接近限位开关,为了更精确的定位,可能会重复多次精确定位,最后再回拉离开限位开关。$130=200.000 // x轴最大行进距离 归位时超过1.5倍距离会失败。$131=200.000 // y轴最大行进距离 归位时超过1.5倍距离会失败。$25=500.000 // 归位查找速率,单位是毫米/分钟。$24=25.000 // 归位速率单,位是毫米/分钟。用这个值乘以循环行程。_grbl 关闭z轴

Pycharm无法debug问题总结_pycharm不能debug-程序员宅基地

文章浏览阅读2.2w次,点赞7次,收藏7次。问题描述:在Pycharm中写python时可以运行程序却突然不能debug。出现debug提示——pydev debugger: process XXXX is connecting,但是之后却一直处于等待连接状态而报错。与该错误相关的网上的解决方案:解决方案一:Pycharm的网络被禁,需要解禁网络。解决方案二:去掉 ".idea"文件重启项目尝试了所有的方案后还是不能解决我的..._pycharm不能debug

安卓开源库_出门吃三碗饭-程序员宅基地

文章浏览阅读1.3k次。Smart-HeaderFooter-RecyclerView★198 - 将Recyclerview添加HeaderView和FooterView。AlphabetIndex-Fast-Scroll-RecyclerView★169 - 强大的AlphabetIndex FastScroller。android-data-binding-recyclerview★478 - 配有Android数据绑定的RecyclerView。_出门吃三碗饭

Python 3.x Error:TypeError: a bytes-like object is required, not 'str'_python3 typeerror: memoryview: a bytes-like object-程序员宅基地

文章浏览阅读9.1w次,点赞25次,收藏71次。分析了TypeError: a bytes-like object is required, not 'str'产生的原因并给出解决办法,并列举了Python内str和bytes相互之间的转化方法。_python3 typeerror: memoryview: a bytes-like object is required, not 'str

随便推点

Python机器学习入门 -- 支持向量机学习笔记_支持向量机 python-程序员宅基地

文章浏览阅读879次,点赞5次,收藏10次。大部分传统的机器学习算法都可以实现分类任务,但这些模型关注的是将不同类别的数据分得开就行,也就是说它们的核心思想是让整个模型分类出错的损失越小越好。刚刚好有一种机器学习模型,它不仅关注分类能不能将不同类别的数据完全分得开,还关注分类得到的决策边界的间隔能不能最大化,即离该决策边界每个类别最近的数据点的距离能不能更远,这就是我们今天的主角 - - 支持向量机。_支持向量机 python

信息学奥赛一本通 1321:【例6.3】删数问题(Noip1994) 贪心算法_1321信息学奥赛一本通答案-程序员宅基地

文章浏览阅读437次,点赞9次,收藏10次。输入一个高精度的正整数n,去掉其中任意s个数字后剩下的数字按原左右次序组成一个新的正整数。编程对给定的n和s,寻找一种方案使得剩下的数字组成的新数最小。时间限制: 1000 ms 内存限制: 65536 KB。每次删除第一个比下一个数字大的数字,如果没有就删除最后一个。1321:【例6.3】删数问题(Noip1994)理由是越高位替换成小的数字,得到的数字就会越小。(n不超过240位)输入数据均不需判错。_1321信息学奥赛一本通答案

OS短作业优先调度算法C语言,OS短作业优先调度算法C语言.doc-程序员宅基地

文章浏览阅读295次。采用短作业优先调度算法调度程序学 号:姓 名:专 业:指导老师:日 期:目录一、实验题目3二、课程设计的目的3三、设计内容3四、设计要求3五、主要数据结构及其说明4六、程序运行结果5七、流程图7八、源程序文件9九、实验体会13十、参考文献13摘要在多道程序环境下,主存中有着多个进程,其数目往往多于处理机数目。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程..._os长作业与短作业

黑马程序员--Java基础学习第十三天-程序员宅基地

文章浏览阅读84次。---------------------- android培训、java培训、期待与您交流! ----------------------一、String类概述String类被final修饰,不能被继承。字符串一旦被初始化就不能被改变。字符串在内存中的存储请参考:http://www.cnblogs.com/heima/archive/2012/03/25/2417253.html..._java黑马程序员di13天代码

svn merge 命令使用_svn merge指令-程序员宅基地

文章浏览阅读2.3k次。Subversion的分支通常用于在主干程序之外,对程序进行修改。这样 可以在不扰乱主干程序进行的开发、测试、发布流程之外,尝试一下新功能的研究、修改。如果觉得新功能没问题,可以将分支合并到主干程序中。  合并前,需要将分支提交(Commit),由此看来,合并操作好象是在服务端和本地客户端同时进行的操作。  合并时,要从主干的working copy的右键菜单开始,"From" Url是合_svn merge指令

正则表达式 提取中括号的内容 匹配中英文_正则表达式匹配中英文括号-程序员宅基地

文章浏览阅读2k次。/** * 使用正则表达式提取中括号中的内容 * * @param msg * @return */ public static String extractMessageByRegular(String msg) { String s = null; Pattern p = Pattern.compi..._正则表达式匹配中英文括号