我有一个存储过程作为回滚事务给错误
Begin
Begin Transaction [Tran]
Begin Try
counter=0 --demo condition
while(counter<10)
begin
condition = condition +1;
insert something
delete something
commit transaction [Tran]
end -- While End
end try
Begin Catch
rollback transaction [Tran]
End Catch
End --End for Begin
Go
我在做什么错?
当我运行它,我得到的错误是:
的ROLLBACK TRANSACTION请求没有相应的BEGIN TRANSACTION。
你一旦开始交易,而在每次迭代中'while'循环犯了。我猜的第一个错误就是你没有对应''commit'的'begin tran'。这就是为什么你陷入catch block。并以相同的原因到达那里发生另一个错误在尝试回滚它之前先在catch块中打印'error_message()'并检查那里是什么。 –