(1)開始事務語句
BEGIN TRANSACTION
功能:BEGIN TRANSACTION 語句作為事務的開始。
格式:BEGIN TRANSACTION [事務名|@事務變量名][WITH MARK[『字符串』]]
說明:
(1)@事務變量名是用戶定義的、含有效事務名稱的變量,該變量類型必須是 char、varchar、nchar 或 nvarchar。
(2)WITH MARK 指定在日誌中標記事務,「字符串」是描述該標記的字符串。使用 WITH MARK 子句的事務必須指定事務名。
(3)TRANSACTION 可以只取前四個字符。
(4)BEGIN TRANSACTION語句一執行,@@TRANCOUNT 的值就增1。
(2)提交事務語句
COMMIT TRANSACTION
功能:COMMIT 是提交語句,它使得自從事務開始以來所執行的所有數據修改成為資料庫的永久部分,也標誌一個事務的結束。
格式:COMMIT TRANSACTION [事務名|@事務變量名]
功能:結束一個用戶定義的事務,保證對數據的修改已經成功地寫入資料庫。
說明:COMMIT TRANSACTION 的 執 行 使 全 局 變 量 @@TRANCOUNT 的值減 1。
標誌一個事務的結束也可以使用COMMIT WORK語句
格式:COMMIT [WORK]它與 COMMIT TRANSACTION 語句的差別在於:COMMITWORK 不帶參數。
(3)回滾事務語句
ROLLBACK TRANSACTION
格式:ROLLBACK TRANSACTION [事務名|@事務變量名|事務斷點名|@事務斷點變量名]
功能:是撤銷語句,它使得事務撤銷到起點或指定的保存點處,它也標誌一個事務的結束。
說明:
(1)ROLLBACK TRANSACTION 將清除自事務的起點或到某個保存點所做的所有數據修改,並且釋放由事務控制的資源。如果事務撤銷到開始點,則全局變量@@TRANCOUNT 的值減1,而如果只撤銷到指定保存點,則@@TRANCOUNT 的值不變。
(2)也可以使用 ROLLBACKWORK 語句進行事務撤銷,ROLLBACK WORK 將使事務撤銷到開始點,並使全局變量@@TRANCOUNT 的值減 1。
(3)在執行 COMMIT 後不能再執行 ROLLBACK TRANSACTION,同樣 ROLLBACK TRANSACTION 後也不能再執行 COMMIT 語句。
(4)保存事務斷點語句 SAVE TRANSACTION
格式:SAVE TRANSACTION {保存點名|@保存點變量名}
功能:設置保存點名,可以使一個事務內的部分操作回滾。