transaction 事务嵌套事务回滚 提交会回滚吗

下例说明如何命名事务。提交命名事务后,为所有畅销计算机书籍支付的版税增加 10%。
DECLARE @TranName VARCHAR(20)
SELECT @TranName = 'MyTransaction'
BEGIN TRANSACTION @TranName
UPDATE roysched
SET royalty = royalty * 1.10
WHERE title_id LIKE 'Pc%'
COMMIT TRANSACTION MyTransaction
下例说明如何标记事务。标记名为"RoyaltyUpdate"的事务。
BEGIN TRANSACTION RoyaltyUpdate
WITH MARK 'Update royalty values'
UPDATE roysched
SET royalty = royalty * 1.10
WHERE title_id LIKE 'Pc%'
COMMIT TRANSACTION RoyaltyUpdateSpring中规则配置为 PROPAGATION_REQUIRED,然后在ServiceA的方法MethodA中调用ServiceB的方法MethodB,MethodB中执行数据库中的数据删除,当执行完MethodB后,MethodA继续执行,设置接下来的MethodA发生runtime exception,然后看到MethodB的删除操作被回滚了,一开始以为不会,但是确实是回滚了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:24325次
排名:千里之外
原创:22篇
(1)(1)(3)(2)(2)(1)(1)(4)(1)(1)(3)(2)嵌套事务的回滚与提交_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
嵌套事务的回滚与提交
上传于||文档简介
&&S​q​l​ ​s​e​r​v​e​r​ ​嵌​套​事​务​的​回​滚​与​提​交
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩7页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢Sql Server(84)
create table T1
ID int identity(1,1),
Code nvarchar(10)
-- 存储过程
create procedure p_RollbackTest
set nocount on
declare @n int = 0
begin tran outTrans
insert into T1(Code) values('A')
-- 保存入表中
begin tran innerTrans
insert into T1(Code) values('B') -- savepoint之前,保存入表中
save tran savepoint
-- 创建事务保存点
insert into T1(Code) values('C') -- savepoint之后,丢弃
set @n = 10 / 0
commit tran innerTrans
begin catch
rollback tran savepoint
--回滚到保存点
commit tran innerTrans
-- 注意:这里用rollback tran会出错,只能用commit tran
insert into T1(Code) values('D')
-- 保存入表中
commit tran outTrans
Exec p_RollbackTest
select * from T1
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1024455次
积分:11227
积分:11227
排名:第1046名
原创:143篇
转载:790篇
评论:80条
(9)(28)(11)(8)(26)(17)(31)(2)(10)(12)(7)(20)(39)(8)(7)(7)(17)(3)(42)(48)(18)(11)(3)(25)(10)(7)(1)(5)(15)(28)(38)(37)(41)(82)(15)(17)(6)(16)(14)(1)(2)(6)(12)(7)(10)(2)(7)(6)(18)(15)(13)(6)(5)(9)(23)(18)(1)(1)(2)(6)(4)(4)(5)(2)(5)(1)(2)(1)}

我要回帖

更多关于 spring 嵌套事物 回滚 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信