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. 宣告交易終止狀態
Comments