猿问

请问这段代码里的commit 不是已经提交了么? CATCH 里的 ROLLBACK 还有用么?

begin try
begin transaction tr

select * from Car_Brand
update car_log set [reason]='ceshiceshiceshi' where [modelid]=557;
select 1/0
print 'i have executed!'
select * from AREA

print 'executed success';
commit transaction tr <-----------------------------------------------

end try
begin catch
print 'executed failed';
rollback transaction tr
end catch

萧十郎
浏览 267回答 1
1回答

慕盖茨4494581

begin catch ... end catch 里的内容,只有在 begin try ... end try 里的内容执行有错误才会触发到,所以, commit tran 执行成功的话,是不会执行到 rollback tran 的
随时随地看视频慕课网APP
我要回答