社区
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都要回滚,请问如何解决.
...全文
142
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
关于Spring
事务
管理之默认
事务
间调用
问题
这种方式的
事务
配置, 更容易引起
问题
。没有接受到里面抛出的异常, 方法继续执行, 执行结束后,
事务
提交。, 默认
事务
再被调用时, 如外层方法无
事务
, 自身会新启
事务
。由
事务
的传播行为我们知道, 如果将方法配置为默认...
并发
事务
问题
与
事务
隔离级别
文章目录1、什么是
事务
2、并发
事务
所遇到的
问题
2.1、脏读2.2、不可重复读2.3、幻读3、
事务
隔离级别 该技术博客根据B站黑马MySQL教程做的笔记总结 希望能为大家带来帮助!感谢你的三连 1、什么是
事务
学习并发
事务
...
关于
事务
操作超时
问题
关于
事务
操作超时
问题
事例一:开启
事务
查询了表一,在调用一个方法这个方法里面也是查询这个表格代码会报错(执行超时已过期。完成操作之前已超时或服务器未响应。) 事例二:开启
事务
多次查询了表一,查询到第二遍就...
MySQL
事务
问题
事务
MySQL
事务
及其特征
事务
的概念
事务
的特性
事务
的演示
事务
的细节说明
事务
的并发
问题
脏读(Dirty read)不可重复读幻读
事务
的隔离级别1.详细介绍+演示2.设置隔离级别3.隔离级别的作用范围4、查看隔离级别 MySQL
事务
...
mybatisplus多数据源
事务
问题
mybtaisplus多数据源
事务
问题
分析 文章目录mybtaisplus多数据源
事务
问题
分析一.背景1.背景
问题
2.
问题
所在2.1 首先关注一下mybatis-plus数据源切换的几个类2.2 方法执行的几个步骤3.解决思路N.参考博客 一.背景 1....
MS-SQL Server
34,871
社区成员
254,637
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章