在output 子句和 scope_identity() 混合使用的时候的注意事项

无意睹到一篇旧文档

SR0008:考虑使用 SCOPE_IDENTITY 代替 @@IDENTITY :https://msdn.microsoft.com/zh-cn/library/dd172121(v=vs.100).aspx

日常开发,我们如果在插入记录的同时需要返回插入的IdentityID,通常我们会使用

@@Identity 和使用函数 Scope_identity()

当然在并发的情况下,使用scope_identity会比使用@@Identity稳定。起码我不用考虑触发器的影响。

但是如果在insert 的同时使用了insert into xxx output into yyy 这种语法的话。就要小心scope_identity返回的值。那将会是yyy表的identity值哦。

下面我们来做一个实验

CREATE TABLE aaa(ID INT IDENTITY,Col VARCHAR(50))
CREATE TABLE bbb(ID INT IDENTITY,Col VARCHAR(50))INSERT INTO dbo.aaa ( Col )VALUES  ( 'aaa' )INSERT INTO dbo.aaa ( Col ) OUTPUT Inserted.Col INTO bbb(Co1) VALUES  ( 'aaa' )
SELECT SCOPE_IDENTITY()

语句很简单,就创建2个表。然后insert 2条数据而已。但是最后在scope_identity 里面返回的结果并不是2 ,而是1 因为虽然写入aaa的自增列ID是1 ,但是本会话最新创建的identity确实bbb id = 1 所以返回的结果是1 而不是2

因为做测试遇到这个例子,写一篇blog 来分享记录一下

 

转载于:https://www.cnblogs.com/Gin-23333/p/5950307.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430016.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从setTimeout,onclick传参看js函数作为参数

setTimeout传参 我们最先想到是这样: setTimeout(doSomething1(123),1000);function doSomething1(content){console.log(content); } 但是这样写,123立马打印出来,并没有等待1s。这是因为,这样写会直接调用doSomething1(123),…

linux上的那些查找的命令

由于工作的需要,少不得要在linux系统上查找各种各样的文件,关于在linux查找的命令有不少,这里小小的总结下。 简单介绍下各个命令的用途: find:实际搜索硬盘查询文件名称;whereis:查看文件的位置…

sprintf函数_三分钟学 Go 语言——函数深度解析(下) 可变参数

接连两篇函数专题深度解析,相信大家已经对函数的语法有了深入的了解。函数简单使用和基本知识解析匿名函数和闭包五一放假期间,我懂得,估计你们都不想学习。小熊这两天因为个人种种令人难受的原因,没有能更新,也没有提…

手工画设计模式的类图

画图成果 面试常考设计模式,往往需要动手画类图。之前面试的时候碰到画类图,往往直奔主题,立即开始画,往往画得很乱。其实面试是一个过程,看中的是思考分析解决问题的过程,结果反而不那么重要。画设计模式…

Reason: image not found

刚生的Xcode8,出现好多Error,有些Error真的太麻烦不想记录,现在这个挺简单的,就记下来,控制台输出的Error信息如下: fix: Target -> Build Phases ->Link Binary With Libraries&#xff…

go爬虫和python爬虫哪个好_python 爬虫实战项目--爬取京东商品信息(价格、优惠、排名、好评率等)-Go语言中文社区...

利用splash爬取京东商品信息一、环境window7python3.5pycharmscrapyscrapy-splashMySQL二、简介为了体验scrapy-splash 的动态网页渲染效果,特地编写了利用splash爬取京东商品信息的爬虫,当然站在爬取效率和稳定性方面来说,动态网页爬取首先应…

jquery事件绑定解绑机制源码分析

引子 为什么Jquery能实现不传回调函数也能解绑事件?如下: $("p").on("click",function(){alert("The paragraph was clicked."); });$("#box1").off("click"); 事件绑定解绑机制 调用on函数的时候…

微信小程序导航:免费视频+精品教程+DEMO集合(长期更新)

1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t14764346784612:简易教程:https://mp.weixin.qq.com/debug/wxadoc/dev/?t14764346775993:设计指南:https://mp.weixin.qq.com/debug/wxadoc/desig…

怎么查看usb读取信息_电脑弹出USB设备时提示该设备正在使用中的解决方法

转载的文章,原文:电脑弹出USB设备时提示该设备正在使用中的解决方法-系统城​www.xitongcheng.com电脑弹出USB设备时提示该设备正在使用,虽然在正常显示时并没有程序在使用,但是确实会出现这种情况,实际上确…

js菜单自适应的实现

功能示意图 菜单自适应示意图如下: 对象A可以拖动,缩放。菜单跟随对象A拖动,位置优先级为下面、上面、右边、左边、中间。 实现思路 其实菜单放在上下左右中,都是它的left和top在变,我们只要依次计算菜单在下/上/右…

python转换为c代码_bash 转换为C代码

bash 转换为C代码,并编译为可执行文件[rootlocalhost ~]# wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz[rootlocalhost ~]# tar xvfz shc-3.8.9.tgz[rootlocalhost ~]# cd shc-3.8.9[rootlocalhost shc-3.8.9]# gcc -c shc.c[rootlocalhost shc-3.8.9]# gcc…

promise简析

promise可以解决多个回调函数嵌套问题,将嵌套所表示的流程通过同步的代码更加清晰的表达出来。 promise的用法与使用配置文件很类似:启动异步函数,在then里面配置好异步函数成功或执行失败的回调函数,然后就可以去干别的事了。 …

python cookies过期_Python3中关于cookie的创建与保存

1.cookie的作用cookie 是指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据,就像有些网站上的一些数据是需要登录后才能看得到,那么想抓取某个页面内容,就需要用到cookie来模拟登陆了。在用cookie模拟登陆的时候&…

GIS-004-Cesium版权信息隐藏

.cesium-widget-credits { display: none; } .cesium-viewer .cesium-widget-credits { display: none; }转载于:https://www.cnblogs.com/defineconst/p/5965531.html

webpaper网页出题语言

目的 方便编写web试题,直接使用几个简单的标签,就可以生成一份可以在web上使用,并且可以打印出来的题。 效果预览 考卷打印效果 生成考卷发送给学生,或打印出来线下考 答案卷打印效果: 通过点击”显示答案”生成答…

python教程很详细_Python编程入门教程:从入门到高级,非常详细

本文的资料和内容是我下载的,觉得非常有用,于是转过来大家瞧瞧:这里给初学Python的朋友提供一些建议和指导吧。大神请无视,俗话说:授人以鱼不如授人以渔。所以我这里只是阐述学习过程,并不会直接详细写某个…

NOIP复习资料——往年习题精选

一、计算机系统 1.在以下各项中,()不是CPU的组成部分。(NOIP2007) A.控制器B.运算器C.寄存器D.主板 【答案】D。CPU由控制器、运算器和寄存器组成。 2.在下列各项中…

【笔记】js重写

js重写,以localstorage为例: var originalSetItem localStorage.setItem; localStorage.setItem function(){// 这里做一些额外的事...//继续调用原来的方法originalSetItem.apply(this, arguments); } 代码引自:这里

(中英)作文 —— 标题与小标题

一个押韵的标题,会十分讨巧; 当世界年轻的时候, 当中国年轻的时候,当世界衰老的时候;1. 英文 A year of no significance. An animal of no significance.2. 名著的变形 双城记:A tale of Two cities Tales…

table 表格点击当前行按钮隐藏当前的另一个按钮_Excel表格为什么那么慢已经应该如何解决(四)一类特殊的函数易变函数(volatile function)...

我们,让Excel变简单今天我们把主题聚焦在一类特殊函数造成的问题上——volatile function。这一类函数有人把他们翻译成“易变函数”,其实挺贴切的。本系列其他文章:Excel表格为什么那么慢已经应该如何解决(一)概述Excel表格为什么那么慢已经…