社区
MS-SQL Server
帖子详情
关于事务的问题
laughsmile
2006-01-22 12:11:03
现在有2部分sql.第一部分sql是一系列update,第2部分sql是insert ...select...
第2部分的sql的select结果依赖于第一部分sql,也就是第一部分sql提交之后,然后执行第2部分sql才有意义.
但是问题是:现在要求第2部分sql如果出错,所有sql都要回滚,请问如何解决.
...全文
135
5
打赏
收藏
关于事务的问题
现在有2部分sql.第一部分sql是一系列update,第2部分sql是insert ...select... 第2部分的sql的select结果依赖于第一部分sql,也就是第一部分sql提交之后,然后执行第2部分sql才有意义. 但是问题是:现在要求第2部分sql如果出错,所有sql都要回滚,请问如何解决.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
laughsmile
2006-01-22
打赏
举报
回复
我试试看,谢谢啦:)
OracleRoob
2006-01-22
打赏
举报
回复
--那就用嵌套事务
create table t1 (a int primary key)
go
set xact_abort on
go
begin tran
begin tran
insert into t1 values (1)
commit tran --提交第一部分SQL语句
select * from t1
--表中有数据
insert into t1 values (1) --主键冲突,整个事务中所有语句操作回滚,包括第一部分SQL语句的更新操作
commit tran
go
select * from t1
--结果表中没有记录
drop table t1
go
laughsmile
2006-01-22
打赏
举报
回复
TO wangtiecheng(cappuccino):
不好意思,可能我没有说清楚,你可能没有明白我的意思.
第一部分sql提交之后,然后执行第2部分sql才有意义.
如果第一部分sql与第2部分sql一起提交是没有意义的.但是我又想达到回滚的效果.
OracleRoob
2006-01-22
打赏
举报
回复
--在第一个例子中产生错误,但其它语句均成功执行且事务成功提交。
create table t1 (a int primary key)
go
set xact_abort off
go
begin tran
insert into t1 values (1)
insert into t1 values (1) --主键冲突,当前语句追加失败
commit tran
go
select * from t1
--结果表中有一行记录
drop table t1
go
--在第二个例子中,set xact_abort 设置为 on。这导致语句错误使批处理终止,并使事务回滚。
create table t1 (a int primary key)
go
set xact_abort on
go
begin tran
insert into t1 values (1)
insert into t1 values (1) --主键冲突,整个事务中所有语句操作回滚
commit tran
go
select * from t1
--结果表中没有记录
drop table t1
go
OracleRoob
2006-01-22
打赏
举报
回复
--当 SET XACT_ABORT 为 ON 时,如果 Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。
set xact_abort on
--开始事务
begin tran
--第一部分SQL
--第二部分SQL
--提交事务
commit tran
return 0
事务
管理不起作用的几个原因
上网看到一片关于
事务
问题
的总汇,才发现原来是我的数据库中表的类型不对,更改后
事务
问题
就解决了,我也自己总结了一下 附:
事务
问题
总汇地址:http://jinnianshilongnian.iteye.com/blog/1850432 1、数据库表...
并发
事务
问题
与
事务
隔离级别
文章目录1、什么是
事务
2、并发
事务
所遇到的
问题
2.1、脏读2.2、不可重复读2.3、幻读3、
事务
隔离级别 该技术博客根据B站黑马MySQL教程做的笔记总结 希望能为大家带来帮助!感谢你的三连 1、什么是
事务
学习并发
事务
...
详解mysql
事务
,
事务
并发安全
问题
的复现以及大
事务
的优化
详解mysql
事务
,
事务
并发安全
问题
的复现以及大
事务
的优化,
事务
的特性(ACID),原子性,一致性,隔离性,持久性;
事务
的并发
问题
,脏读,不可重复读,幻读,更新丢失;
事务
隔离级别,read uncommited(读未提交),...
关于线程池与
事务
的注意
问题
关于线程池与
事务
的注意
问题
关于
事务
操作超时
问题
关于
事务
操作超时
问题
事例一:开启
事务
查询了表一,在调用一个方法这个方法里面也是查询这个表格代码会报错(执行超时已过期。完成操作之前已超时或服务器未响应。) 事例二:开启
事务
多次查询了表一,查询到第二遍就...
MS-SQL Server
34,838
社区成员
254,632
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章