[转]SQL事务回滚的问题及其解决的方法
[转]SQL事务回滚的问题及其解决的方法
原文:http://shirlly.javaeye.com/blog/370973
Commit Transaction:提交事务;
Rollback Transaction:回滚事务。
其中Commit Transaction 与Rollback Transaction 都必须有对应的Begin Transaction 才能正确被执行。
如:
Begin Tran
……
Rollback Tran
Commit Tran
以上事务只执行了回滚操作。执行Commit Tran系统会返回3902错误,即@@Error=3902,COMMIT TRANSACTION 请求没有对应的 BEGIN TRANSACTION。
Begin Tran
……
Commit Tran
Rollback Tran
以上事务员执行了提交事务操作。执行Rollback Tran系统会返回3903错误,即@@Error=3903,ROLLBACK TRANSACTION 请求没有对应的 BEGIN TRANSACTION。
实例:使用@@Error返回值来控制回滚
设有表a,有字段num (int),name (varchar(20));表b,有字段num (int),Add (varchar(50))。以下是一个存储过程,使用了@@Error的返回值来控件事件回滚:
- CREATE PROCEDURE [dbo].[TranTest]
- @num int,@name varchar(20),@Add varchar(20)
- AS
- DECLARE @ErrorA int,@ErrorB int
- begin transaction aa
- insert into a values(@num,@name)
- Set @ErrorA = @@error
- insert into b values(@num,@Add)
- Set @ErrorB = @@error
- if @ErrorA>0 or @ErrorB>0
- begin
- Rollback transaction aa
- end
- else
- commit transaction aa
- GO
转载于:https://www.cnblogs.com/sgivee/archive/2010/07/04/1771049.html
[转]SQL事务回滚的问题及其解决的方法相关推荐
- SQL事务回滚的两种方式
1.XACT_ABORT 1)set XACT_ABORT off时,回滚产生错误的Transact-SQL语句,而事务将继续进行处理,(注:错误严重或者语法错误时可能回滚整个事务) 2) set X ...
- mysql 事务回滚语句_数据库事务回滚语句-sql事务回滚语句是-用于事务回滚的sql语句...
sql 回滚语句 这种情况的数据恢复只能利用事务日志的备份来进行,所以如果你的SQL没有进行相应的全库备份 或不能备份日志(truncate log on checkpoint选项为1),那幺就无法进 ...
- begintrans返回值_SQL事务回滚 ADO BeginTrans, CommitTran 以及 RollbackTrans 方法
定义和用法 这三个方法与 Connection 对象使用,来保存或取消对数据源所做的更改. 注释:并非所有提供者都支持事务. 注释:BeginTrans.CommitTrans 和 RollbackT ...
- 20180928 SQL SERVER 事务回滚
begin tran:设置起点 commit tran:使事务成为数据库中永久的.不可逆转的一部分 rollback tran:本质上说想要忘记它曾经发生过 save tran:创建一个特定标记,只允 ...
- 事务回滚什么意思 try_分布式事务 TCC-Transaction 源码分析——事务恢复
1. 概述 本文分享 TCC 恢复.主要涉及如下二个 package 路径下的类: org.mengyun.tcctransaction.recover RecoverConfig,事务恢复配置接口 ...
- SQL Server事务回滚对自增键的影响
SQL Server事务回滚时是删除原先插入导致的自增值,也就是回滚之前你你插入一条数据导致自增键加1,回滚之后还是加1的状态 --如果获取当前操作最后插入的identity列的值: select @ ...
- 哪些异常是RuntimeException?Sql异常属于RuntimeException吗?Spring下SQL异常事务回滚
哪些异常是RuntimeException?Sql异常属于RuntimeException吗?Spring下SQL异常事务回滚 参考文章: (1)哪些异常是RuntimeException?Sql异常 ...
- sql server 事务_如何使用显式SQL Server事务回滚
sql server 事务 In this article, we will explore the process of rollback an explicit SQL Server transa ...
- springboot事务回滚源码_Spring Boot中的事务是如何实现的
1. 概述 一直在用SpringBoot中的@Transactional来做事务管理,但是很少想过SpringBoot是如何实现事务管理的,今天从源码入手,看看@Transactional是如何实现事 ...
最新文章
- 编译安装samba4.89遇到的错误
- Visual Studio 2010 模板缺失
- rssi室内定位算法原理_智慧定位系统之蓝牙网关在室内定位技术的原理浅析
- 使用akka构建高并发程序_如何使用Akka Cluster创建简单的应用程序
- jQuery / zepto ajax 全局默认设置
- 代码重构之道,重构即重生,让你的代码起死回生
- opencv-Getting Started with Videos
- numpy 辨异 (五)—— numpy.ravel() vs numpy.flatten()
- win7系统数据库服务器,win7数据库 服务器
- (转)RemapKey等:小巧实用的键盘映射工具
- springboot集成ureport2
- 选拔人才要关注的七个方面
- 2018年第九届蓝桥杯JAVA A组国赛 —— 第二题:阅兵方阵(暴力)
- Java进阶-面向对象
- Ubuntu下安装LXDE+XRDP实现远程桌面访问(最轻量级桌面)
- iOS/MAC 数据压缩与解压缩及常用算法 LZMA、ZLIB
- 二叉树的先中后序递归和非递归遍历(数据结构作业)
- 特斯拉充电异常甩锅国家电网,被“打脸”后致歉
- 用C语言编写一个电话簿管理系统
- Linux之IFS间隔符、C编程、gdb调试
热门文章
- 01-01 Linux系统与shell环境准备
- lia人是什么意思_老话说“人穷别说话,位卑莫劝人”,什么意思?有何道理?...
- 电脑字体在哪个文件夹_壹心奇妙体下载 壹心奇妙体 字体下载
- 取枚举的参数c语言,求解:如何获得enum类型中枚举值的数量
- Java与Web前端发展前景及薪资对比
- python int函数和二进制、八进制、十进制转换
- 计算机视觉的监控系统研究现状,基于计算机视觉的监控系统的研究
- 接口规范 11. 串流相关接口
- 计算机中逻辑运算用什么表示逻辑真,计算机逻辑运算和逻辑部.ppt
- Java实现Redis的订阅发布功能,亲测可以