[英]Rollback Transaction giving error
我有一個存儲過程
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。
您只有一次開始事務,而每次循環運行時您都在提交。
我建議你閱讀這篇關於事務和錯誤處理的文章。
嘗試使用這種語法
BEGIN TRY
BEGIN TRANSACTION
--Your code here
END TRY
BEGIN CATCH
IF (@@ERROR <> 0)
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
END CATCH
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.