RollBack(T-SQL)

MSDN:將明確或隱含的交易回復到交易的開頭,或回復到交易內的儲存點。 您可以使用 ROLLBACK TRANSACTION 清除交易開始之後的所有資料修改,或清除儲存點之前的所有資料修改。 另外,它也會釋出交易所保留的資源。
顧名思義當作指令時發生錯誤時,可以回復到還沒做之前,再做新增、修改、刪除時為了防止資料出錯,通常都會使用到此語法。

declare @msg  varchar(20)                 //用來記錄交易成功或失敗的訊息
SET XACT_ABORT ON
Begin Transaction                                 //開始交易
做你的SQL指令
if @@error<>0                                      //如果有發生錯誤
begin
select @msg='fail'                              //紀錄失敗訊息
Rollback Transaction                          //回到交易前
goto final
end
Commit Transaction                          //交易成功
select @msg='success'                     //紀錄成功訊息
final:                                                       //最後要做的動作放這
select msg=@msg                              //顯示成功或失敗

留言

這個網誌中的熱門文章

Python-相關係數矩陣實作(python-correlation matrix )

ASP.NET-後端將值傳給javascript

ASP.NET-FileUpload上傳後自動觸發button click(FileUpload upload auto trigger button click)