SET XACT_ABORT各种用法及显示结果
默认行为
默认为SET XACT_ABORT OFF,没有事务行为。
SET XACT_ABORT ON
SET XACT_ABORT ON分为两种:
1、总体作为一个事务,整体提交或整体回滚,格式为:
SET XACT_ABORT ONBEGIN TRAN--要执行的语句COMMIT TRANGO
2、每个语句作为一个事务,事务在错误行终止,错误行回滚,错误行之前的不回滚,格式为:
SET XACT_ABORT ONBEGIN--要执行的语句ENDGO
测试
--创建测试表use MyDBCREATE TABLE student( stuid int NOT NULL PRIMARY KEY, stuname varchar(50))CREATE TABLE score ( stuid int NOT NULL REFERENCES student(stuid), score int)GO --插入测试数据INSERT INTO student VALUES (101,'zhangsan') INSERT INTO student VALUES (102,'wangwu') INSERT INTO student VALUES (103,'lishi') INSERT INTO student VALUES (104,'maliu') GO ---------------测试事务提交------------------use MyDB--只回滚错误行,语句还继续执行SET XACT_ABORT OFFBEGIN TRANINSERT INTO score VALUES (101,90)INSERT INTO score VALUES (102,78) INSERT INTO score VALUES (107,76) /* Foreign Key Error */ INSERT INTO score VALUES (103,81) INSERT INTO score VALUES (104,65) COMMIT TRANGO/*stuid score----------- -----------101 90102 78103 81104 65 (4 row(s) affected)*/ use MyDB--事务终止并全部回滚SET XACT_ABORT ONBEGIN TRANINSERT INTO score VALUES (101,90)INSERT INTO score VALUES (102,78) INSERT INTO score VALUES (107,76) /* Foreign Key Error */ INSERT INTO score VALUES (103,81) INSERT INTO score VALUES (104,65) COMMIT TRANGO/*stuid score----------- -----------(0 row(s) affected)*/ use MyDB--事务在错误行终止,错误行回滚,错误行之前的不回滚SET XACT_ABORT ONBEGININSERT INTO score VALUES (101,90)INSERT INTO score VALUES (102,78) INSERT INTO score VALUES (107,76) /* Foreign Key Error */ INSERT INTO score VALUES (103,81) INSERT INTO score VALUES (104,65) ENDGO/*stuid score----------- -----------101 90102 78(2 row(s) affected)*/
SET XACT_ABORT各种用法及显示结果相关推荐
- 事务中SET XACT_ABORT各种用法
SET XACT_ABORT 一提到事务,也许,你的第一反应就是,要么全部执行,要么全部不执行,然而事实.............可以不是这样滴! 测试代码 CREATE TABLE TEST( ID ...
- html 弹出一个邮件连接,mailto scheme 高级用法, 显示带html样式的邮件文本
需求: 今天同事问我一个需求,就是如果用html的mailto scheme,能否当其点击后弹出的outlook中,其内容正文部分是一个带有html的样式或格式的? 真是这样的么?因为10年前当刚接触 ...
- mysql xact abort,SET XACT_ABORT的用法
指定当 Transact-SQL 语句产生运行时错误时,Microsoft® SQL Server™ 是否自动回滚当前事务. 语法 SET XACT_ABORT { ON | OFF } 注释 当 S ...
- matlab uicontrol中popupmenu(弹出式菜单)用法,用于显示不同的函数
h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例36'); x=0:0.5:2*pi; y=sin(x) ...
- sed的基本用法和高级用法
sed 的详细用法 sed:stream editor 流编辑器 sed的工作模式:sed是一个行文本编辑器,默认每次处理文本中所匹配到一行内容到模式空间,然后用后面的命令进行操作,操作完成之后,会把 ...
- WeUI用Toast组件显示Loading
在JQuery WEUI的官网(http://jqweui.com/components#toast)没有看到有显示Loading的用法,只有其他的用法,这里都给大家贴出来. 官网已有的用法 $.to ...
- Linux tree命令以树形结构显示文件目录结构
我用的是阿里云服务器,CentOS7,默认没有tree这个命令,需要安装,用下面的命令就可以安装: sudo yum install tree 怎么样使用tree这个命令 其实有个非常简单的办法,就是 ...
- [Java]toString的用法
toString的用法 要显示对象内容需要重写toString()方法 以下程序也可以看出一个java程序可以有两个class类 public class Java_2 {public static ...
- Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法
Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法 在上一篇笔记中我们介绍了Ext.Net的简单用法,并创建了一个简单的登录表单.今天我们将看一下如何更好是使用FormPanel ...
最新文章
- 实现第一个自定义nginx模块
- 自动化运维之CentOS7下PXE+Kickstart+DHCP+TFTP+HTTP无人值守安装系统
- 日期类的加减及java中所以日期类的操作算法大全
- MFC:多窗口函数、变量调用
- maccms V10后门
- OpenCV-Python bindings是如何生成的(1)
- 如何c51和mdk共存兼容_2020年网站如何做seo优化
- Magic进博会!中国媒体上马了一条神奇的视频生产线
- 论网络安全(观直播后感)
- nginx动静分离配置_Nginx动静分离配置实例
- 2194. Excel 表中某个范围内的单元格
- Axure(软件下载安装与使用)——成为产品经理的必修课
- 华为手机上的计算机怎么没了,华为手机怎么连接电脑 华为手机连接不上电脑怎么回事 华为手机连接USB没反应...
- Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介【转自游戏蛮牛】
- 亚马逊卖家运营必备八大工具
- 企业网站建设教程:自己怎么建网站,做网站的步骤有哪些
- springboot+Elasticsearch实现word,pdf,txt内容抽取并高亮分词全文检索
- java 经典算法(转)
- 成成你好呀笔记整理(知识点合集二)
- 百度阿里网易大疆等大小厂前端校招面筋 1
热门文章
- BZOJ1841 : 蚂蚁搬家
- Varnish的相关知识,varnish的简单应用
- Oracle Real Application Testing diagram
- 大型K8s沙龙来啦,火速报名——Kubernetes Cloud Native Meetup
- WebFlux响应式编程基础之 5 webflux服务端开发讲解
- Docker系列二~自定义网桥
- vuex:弄懂mapState、mapGetters、mapMutations、mapActions
- Socket技术详解
- upupw启动mysql失败,Can't init tc log
- 继承AppCompatActivity的Activity无法隐藏标题栏