关于sql中的事务回滚问题 ,就是commit 和 rollback的顺序问题
答案:2 悬赏:40
解决时间 2021-01-30 18:47
- 提问者网友:孤凫
- 2021-01-29 23:09
关于sql中的事务回滚问题 ,就是commit 和 rollback的顺序问题
最佳答案
- 二级知识专家网友:执傲
- 2021-01-29 23:40
一般来说是
insert ................................ 或是
update ..............................
if @@error <> 0 then
Rollback tran
else
commit tran
当然,update一般还配合@@rowcount参数。
insert ................................ 或是
update ..............................
if @@error <> 0 then
Rollback tran
else
commit tran
当然,update一般还配合@@rowcount参数。
全部回答
- 1楼网友:末日狂欢
- 2021-01-29 23:52
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
然后在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
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |