SQL 事物回滚
2024-10-21 19:27:23
转自https://www.cnblogs.com/delphinet/archive/2010/08/17/1801424.html
第一种:
declare @iErrorCount int
set @iErrorCount = 0
begin tran Tran1
insert into t1(Id, c1) values(1,'1')
set @iErrorCount=@iErrorCount+@@error insert into t1(Id, c1) values('XX2','2')
set @iErrorCount=@iErrorCount+@@error if @iErrorCount=0
begin
COMMIT TRAN Tran1 --执行事务
end
else
begin
ROLLBACK TRAN Tran1 --回滚事务
end
第二种:
Begin Try
Begin Tran Tran1
insert into t1(Id, c1) values(1,'1')
insert into t1(Id, c1) values('XX2','2') --此句产生错误
COMMIT TRAN Tran1
END Try
Begin Catch
raiserror 50005N'出错了'
ROLLBACK TRAN Tran1 ---出错后调用回滚
END Catch
第三种:
SET XACT_ABORT ON ----语句产生运行时错误,则整个事务将终止并回滚。
Begin Tran
INSERT INTO t1(Id, c1) VALUES(1,'1')
INSERT INTO t1(Id, c1) VALUES('XX2','2') --此句产生错误时,就会回滚整个事务
Commit Tran
最新文章
- goEasy消息推送,pushlet 向特写用户实时推送
- Android学习---数据库的增删改查(sqlite CRUD)
- ExpandableListView的用法
- 黑马程序员:Java编程_反射技术
- DOM节点操作
- 如何将phantomjs单独部署在服务端
- 一个考察for循环题 讨论一下
- [转]oracle的ANYDATA数据类型
- java 注解Annotation
- 自己在使用的English词典
- ASP.NET 防盗链的实现[HttpHandler]
- [原创]HTML5 web性能监控策略
- 又见angular----步一步做一个angular4小项目
- proc文件系统探索 之 根目录下的文件[三]
- [SpringBoot guides系列翻译]调用RESTfulWebService
- Vue 去掉#号,让网址像正常的一样
- CentOS下双网卡双IP不同IP段配置
- devexpress gridview 添加按钮
- Quart2D文字图像绘制
- linux上mysql安装详细教程