簡體   English   中英

回滾事務給出錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM