位置: 编程技术 - 正文

对有insert触发器表取IDENTITY值时发现的问题(触发器中instead of)

编辑:rootadmin
问题是这样的: T1表上有一个INSERT的触发器,在插入数据的时候,会自动往T2表里面插一条记录 这样当我在T1表上插入新的数据时,取@@IDENTITY的时候,返回的id值是T2表里面的新记录的值 赶快查了下msdn,原来@@IDENTITY还有这么多讲究: 在一条 INSERT、SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值。如果语句未影响任何包含标识列的表,则 @@IDENTITY 返回 NULL。如果插入了多个行,生成了多个标识值,则 @@IDENTITY 将返回最后生成的标识值。如果语句触发了一个或多个触发器,该触发器又执行了生成标识值的插入操作,那么,在语句执行后立即调用 @@IDENTITY 将返回触发器生成的最后一个标识值。如果对包含标识列的表执行插入操作后触发了触发器,并且触发器对另一个没有标识列的表执行了插入操作,则 @@IDENTITY 将返回第一次插入的标识值。出现 INSERT 或 SELECT INTO 语句失败或大容量复制失败,或者事务被回滚的情况时,@@IDENTITY 值不会恢复为以前的设置。 如果语句和事务失败,它们会更改表的当前标识,从而使标识列中的值出现不连贯现象。即使未提交试图向表中插入值的事务,也永远无法回滚标识值。例如,如果因 IGNORE_DUP_KEY 冲突而导致 INSERT 语句失败,表的当前标识值仍然会增加。 @@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 是相似的函数,因为他们都返回插入到表的 IDENTITY 列的最后一个值。 @@IDENTITY 和 SCOPE_IDENTITY 可以返回当前会话中的所有表中生成的最后一个标识值。但是,SCOPE_IDENTITY 只在当前作用域内返回值,而 @@IDENTITY 不限于特定的作用域。 IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 可以返回任何会话和任何作用域中为特定表生成的标识值。 @@IDENTITY 函数的作用域是执行该函数的本地服务器上的当前会话。此函数不能应用于远程或链接服务器。若要获得其他服务器上的标识值,请在远程服务器或链接服务器上执行存储过程,并使(在远程或链接服务器的环境中执行的)该存储过程收集标识值,并将其返回本地服务器上的发出调用的连接。 所以对多个表进行操作的时候,最好用 SELECT SCOPE_IDENTITY()和SELECT IDENT_CURRENT(‘T1')方式

推荐整理分享对有insert触发器表取IDENTITY值时发现的问题(触发器中instead of),希望有所帮助,仅作参考,欢迎阅读内容。

对有insert触发器表取IDENTITY值时发现的问题(触发器中instead of)

文章相关热门搜索词:在insert触发器中,可以引用一个名为什么的虚拟表,insert触发器怎么写,触发器insert在update也触发,insert 触发器,简述insert触发器的工作原理,触发器insert在update也触发,简述insert触发器的工作原理,简述insert触发器的工作原理,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL SERVER 查询正在实行的SQL语句 具体操作:根据master.dbo.sysprocesses中的spid和blocked查找当前阻塞语句的主人,然后使用DBCCINPUTBUFFER()查看阻塞语句。例子:打开三个查询分析器A、B、C创

sql 随机抽取几条数据的方法 推荐 传说用这个语句管用:selecttop5*fromtablenameorderbynewid()我放到sql的查询分析器里去执行果然管用,随机抽取5条信息,不停的换,结果我应用到程序里的时

sql 多条件组合查询,并根据指定类别找出所有最小子类别的SQL语句备忘 DECLARE@PAGESIZEINTDECLARE@PAGEINDEXINTDECLARE@PAGECOUNTINTDECLARE@RECORDCOUNTINTSELECT@PAGESIZE=5SELECT@PAGEINDEX=1DECLARE@FIELDNAMEVARCHAR()DECLARE@FIELDVALUEVARCHAR()DECLARE@OPERATIONVARCHAR(

标签: 触发器中instead of

本文链接地址:https://www.jiuchutong.com/biancheng/349074.html 转载请保留说明!

上一篇:SQL语句查询是否为空 =null及null(sql判断是否存在记录)

下一篇:SQL SERVER 查询正在实行的SQL语句(sql server 数据查询)

  • 缴纳汇算清缴所得税怎么做账
  • 应纳税所得额怎么计算应纳税额
  • 用友t6如何生成当月的财务报表
  • 季末计提所得税可以根据本年利润计算吗?
  • 房企与个人订立购房合同是否贴花?
  • 销售大型设备的税率
  • 长期挂账的应付账款怎么处理
  • 承兑到期没兑现怎么处理
  • 小规模纳税人购车是怎么抵税的
  • 上一年度凭证不填可以吗
  • 进货没有开具发票能退吗
  • 客户可以把现金存入对公户吗
  • 工资中代扣水电费是什么意思
  • 个体工商户交纳社保办法
  • 用工会经费发放福利
  • 不征收增值税项目进项税额可以抵扣吗
  • 房地产土地增值税筹划
  • 小规模季报营业税怎么算
  • 收到未知款项如何做账
  • 进项税额转出会计分录月末如何结转
  • 外币账户和外汇账户一样吗?
  • 暂估冲回账务处理
  • linux命令执行成功后会返回什么
  • 贷款利息 发票
  • 私账转到公账怎么办
  • linux系统中如何查看日志
  • 无形资产的确认与计量
  • 窗函数的作用
  • laravel实战教程
  • thinkphp整合layuiadmin
  • 生产型企业出口退税退的是哪部分的税
  • 纳税检查调整的销售额确认收入吗
  • vue插槽有什么作用
  • 出口退税无纸化备案怎么弄
  • 怎么做一个简单的机器
  • 训练集验证集和测试集
  • python每行输出五个且对齐
  • 为什么股本溢价
  • 到对公账户的钱能立马转出去吗
  • 财务没有及时缴费怎么办
  • 公司先垫付社保会计分录
  • 给对方开发票需要
  • 银行代发工资流程
  • 总结一周内学习的Sql经验(一)
  • 赠品要做视同销售申报纳税吗?
  • 工伤陪护费计入哪个科目
  • 汽车销售公司赠车合法吗
  • 用货款抵扣供应商成本
  • 预付账款计提减值吗
  • 库存现金管理是财务分析的吗
  • 应付工资是应付账款吗
  • 坏账准备的核算公式
  • 进项税额转出还要交税吗
  • 科目汇总表账务处理程序登记总账的依据是
  • 建立备查账簿登记的有哪些
  • win2008安装sql2005
  • mysql查询慢sql命令
  • 没有本地策略的网站
  • uefi硬盘安装win10
  • ubuntu photoshop
  • Linux怎么删除文件第一行
  • win8系统崩溃无法开机
  • windows media player找不到媒体流
  • CentOS安装scp命令详解
  • 无法登录所请求的数据库 用户sa登录失败
  • windows10更新遇到错误怎么解决
  • 怎么在linux中安装软件
  • cocos2dx入门
  • 卡带测评
  • 常用的linux命令大全
  • 详解16型人格
  • 特牛的群名
  • jquery常用的事件绑定函数有哪些
  • Python中urllib+urllib2+cookielib模块编写爬虫实战
  • jquery悬浮显示
  • 安卓打包安装程序apk
  • 工会经费税务代收
  • 水上公安分局
  • 石脑油的消费税是多少
  • 海关进口增值税专用缴款书在哪里打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设