事务回滚 SET XACT_ABORT ON
USE tempdb
IF OBJECT_ID ('dbo.test') IS NOT NULL
DROP TABLE dbo.test
GO
CREATE TABLE dbo.test
(
id INT NOT NULL,
CONSTRAINT pk_id PRIMARY KEY (id)
)
GO
BEGIN TRANSACTION
INSERT INTO dbo.test(id)VALUES (0 )
INSERT INTO dbo.test(id)VALUES (1 )
INSERT INTO dbo.test(id)VALUES (1 )
INSERT INTO dbo.test(id)VALUES (2 )
COMMIT TRANSACTION
/*******结果**********
(1 行受影响)
(1 行受影响)
消息 2627,级别 14,状态 1,第 19 行
违反了 PRIMARY KEY 约束“pk_id”。不能在对象“dbo.test”中插入重复键。重复键值为 (1)。
语句已终止。
(1 行受影响)
*/
SELECT *FROM dbo.test
/**********结果*********
id
0
1
2
*/
TRUNCATE TABLE dbo.test
SET XACT_ABORT ON
BEGIN TRANSACTION
INSERT INTO dbo.test(id)VALUES (0 )
INSERT INTO dbo.test(id)VALUES (1 )
INSERT INTO dbo.test(id)VALUES (1 )
INSERT INTO dbo.test(id)VALUES (2 )
COMMIT TRANSACTION
/**********结果************
(1 行受影响)
(1 行受影响)
消息 2627,级别 14,状态 1,第 61 行
违反了 PRIMARY KEY 约束“pk_id”。不能在对象“dbo.test”中插入重复键。重复键值为 (1)。
*/
SELECT *FROM dbo.test
/******结果为空************/
事务回滚 SET XACT_ABORT ON的更多相关文章
- SqlServer事务回滚(2)
SQL Server 2008中SQL应用系列--目录索引 SQL事务 一.事务概念 事务是一种机制.是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行.因此事务是 ...
- [SQL]事务回滚详解及示例
存储过程中的 SET XACT_ABORT ON 和事务 在存储过程中写SET XACT_ABORT ON 有什么用? SET XACT_ABORT ON是设置事务回滚的! 当为ON时,如果你存储中的 ...
- 关于事务回滚,rollback tran到底要不要写?
关于事务回滚,有些不明白,不知道rollback tran在什么时候用. begin tran update 表1 update 表2 commit tran 这种写法,在更新表1或表2时出错,事务会 ...
- SQL事务回滚
BEGIN TRAN标记事务开始 COMMIT TRAN 提交事务 一般把DML语句(select ,delete,update,insert语句)放在BEGIN TRAN...COMMIT TRAN ...
- SQL 事务回滚
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服 ...
- Spring异常抛出触发事务回滚
Spring.EJB的声明式事务默认情况下都是在抛出unchecked exception后才会触发事务的回滚 /** * 如果在spring事务配置中不为切入点(如这里的切入点可以定义成test*) ...
- 【Java EE 学习 19】【使用过滤器实现全站压缩】【使用ThreadLocal模式解决跨DAO事务回滚问题】
一.使用过滤器实现全站压缩 1.目标:对网站的所有JSP页面进行页面压缩,减少用户流量的使用.但是对图片和视频不进行压缩,因为图片和视频的压缩率很小,而且处理所需要的服务器资源很大. 2.实现原理: ...
- jfinal 基本应用 --事务回滚
事务回滚 1.当时需要用到事务回滚,但是看到网上只有问题,没有真实的到底怎么用法. 2.我看了一下文档,结合了网上的大神的博客. 第一种方法: Db.tx(new IAtom(){ @Override ...
- Spring @Transactional ——事务回滚
工作原理运行配置@Transactional注解的测试类的时候,具体会发生如下步骤1)事务开始时,通过AOP机制,生成一个代理connection对象,并将其放入DataSource实例的某个与Dat ...
随机推荐
- Jquery easyUI datagrid遇到空行做判断
点击[上月]按钮直到没有数据,上月按钮禁用.并提示无数据. 最直接的思路就是datagrid('reload',{month:-1}); 可是这样,想了很多办法无法获取加载的数据. 最简单的办法: $ ...
- 锋利的jQuery初学(5)
层级选择器: 层级选择器 符号 解释 使用 空格 后代选择器 $("div p").css("","") + 紧邻选择器 $("d ...
- VritualBox安装CentOS及安装增强工具图文教程
一 VM VirtualBox VirtualBox可在官网https://www.virtualbox.org/下载,完全免费. 二 安装CentOS系统(以CentOS6.9为例) 1.Cen ...
- android app demo
package jczb.shoping.model; import java.io.Serializable; import android.R.string; //登录所需要的字段信息 publi ...
- Python之PIL库的运用、GIF处理h
一.PIL库简介 PIL(Python Image Library)库是Python语言的第三方库,它支持图像存储.显示和处理,它能够处理几乎所有图片格式,可以完成对图像的缩放.剪裁.折叠以及像图片添 ...
- HTML复习 2019-2-11
HTML复习 2019-2-11 <!doctype html> <html> <!-- 常见问题答疑 Question 1:HTML标签可以大写吗? 大小写都可以,比如 ...
- re正则匹配城市名
匹配城市名称,只要第一次出现之后的数据 import re a='巴州区白云县台公交乡公司对面区海蜃楼6楼' b=re.search(r'(^\w+?区)|(^\w+?县)|(^\w+?镇)',a). ...
- miniui的联动列表
function OnCellBeginEdit(e) { var grid = e.sender; var column = e.column; if (!column.parentfield) { ...
- Elasticsearch(单节点)
1 Elasticsearch搭建 1.1 通过Wget下载ElasticSearch安装包wget https://artifacts.elastic.co/downloads/elasticsea ...
- 17.3 删除没用的project
1.删除某一个或多个无用的project(历史project) 用十六进制编辑器打开"C:\Users\Baymax\Documents\Source Insight 4.0\Project ...