我有一個存儲過程作爲回滾事務給錯誤
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()'並檢查那裏是什麼。 –