中易网

关于sql中的事务回滚问题 ,就是commit 和 rollback的顺序问题

答案:2  悬赏:40  
解决时间 2021-01-30 18:47
关于sql中的事务回滚问题 ,就是commit 和 rollback的顺序问题
最佳答案
一般来说是
insert ................................ 或是
update ..............................
if @@error <> 0 then
Rollback tran
else
commit tran

当然,update一般还配合@@rowcount参数。
全部回答
begin try 和 end try捕获产生的错误
然后在begin catch 和 end catch 块中使用rollback语句让事务回滚
你可以简单地先写个小例子试一下,体会下rollback的用法
比如:
begin tran
update table2 set b=10,c=10 where a=1
rollback tran
就会发现数据没有被更新
然后再结合begin try end try begin catch end catch的用法
就能实现在事务执行过程中出错后回滚的功能
大概的形式就是这样:
begin tran
begin try
--做相关操作
--结束的时候如果没有错误则用commit提交事务
commit tran
end try
begin catch
--出现错误的时候会跳转到这里
--用rollback回滚事务
rollback tran
end catch
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
网络连接无网络访问权限
去泰国旅游除开团费 要带多少
痹症,怎么食疗?
去游泳馆是怎么游泳穿内裤游泳可以吗,没有游
金店倒闭要赔补偿金?
安驰汽车销售有限公司(振兴大道东17)地址在什
158身高体重55公斤会不会很胖
求像“床前明月光”“秀色”的具有动感又有古
马自达6大家都说好 为什么销量一般嘛
青藏高原为什么太阳能资源丰富,气温低
战舰少女R安德烈亚多利亚实力如何 特性解析
一队男女没结婚生了一个孩子女的离开了男的,
为什么里贝里工资比罗本高这么多
鄂尔多斯奥群旗舰店怎么去啊,有知道地址的么
唐代丝绸之路江西供应什么?
推荐资讯
2017年关于申报资金资金有哪些最新的政策呀
现代机油sae 5w20是全合成的吗
英雄联盟:72生命值和9护甲哪个更好一点?前
found asteel tower歌词是哪首歌的歌词
建筑施工组织中的劳动量是指什么
当一个有反差感的人是一种什么样的体验
蒸包子面蒸出来以后面怎么有点硬怎么办?
邢台那个小学是寄宿制的?
红楼梦"真正的"后40回是什么样子的?
由于施工造成市政给水管道损坏谁负责
金融IC卡与传统的磁条卡相比,有哪些优势?
、已知函数y= x+16/x+2, x属于(-2,+&)
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?