[MSSQL] SQL Server的交易處理(Transaction)

Hits: 539

紀錄一下SQL server中的交易(Transaction)是怎麼一回事。

MSSQL的增刪修(Insert, Delete, Update)查詢,都會被視為一個交易,交易包含有下列特性

1. 活動狀態(Active state)
2. 部分確認狀態(Partially committed state)
3. 確認狀態(committed state)
4. 失敗狀態(failed state)
5. 終止狀態(terminated state)

以程式碼的結構並說明概念如下

begin tran --1. 使用begin tran,宣告即將對資料庫進行讀寫動作
    insert into table_A column1 values 10
    if @@error = 0
        commit tran --2. 從部分確認狀態下,檢查讀寫動作是否會影響其他正在執行的交易/查詢,若無誤,則進入3. 確認狀態,將資料寫入資料庫中
    else
        rollback tran --4. 執行上述過程中,只要當下碰到錯誤,就會進入失敗狀態,將資料庫恢復到執行交易前的狀態
end tran --5. 宣告交易終止狀態

參考資料

About the Author

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

You may also like these