管理資料庫事務
阿新 • • 發佈:2018-12-04
紫色代表一級目錄
粉紅代表二級目錄
藍色代表三級目錄
紅色代表關鍵字
橙色代表說明
管理資料庫事務
事務:事務是對資料庫執行的一個操作單位。
它是以邏輯順序完成的工作單元或工作序列。
事務是由資料操作語言(DML)完成的。
事務是對資料庫所做的一個或多個修改。
一個事務可以是一個或多個DML語句。
在管理事務時,指定的事務(DML語句組)都必須作為一個整體來完成。
控制事務
事務控制是對關係資料庫管理系統(RDBMS)裡可能發生的各種事務的管理能力。
當一個事務被執行並且成功完成時,雖然從輸出結果來看目標表已被修改了,但實際上目標表並不是立即被修改。
當事務成功完成時,利用事務控制命令最終認可這個事務,可以把事務所做的修改儲存到資料庫,也可以撤銷事務所做的修改。
COMMIT、ROLLBACK、SAVEPOINT
圖中展示了修改操作如何應用到關係型資料庫。
COMMIT命令
COMMIT命令用於把事務所做的修改儲存到資料庫,它把上一個COMMIT或ROLLBACK命令之後的全部事務都儲存到資料庫。
語法:
ROLLBACK命令
ROLLBACK命令用於撤銷還沒有被儲存到資料庫的命令,它只能用於撤銷上一個COMMIT或ROLLBACK命令之後的事務。
語法:
SAVEPOINT命令(儲存點的名稱必須唯一)
儲存點是事務過程中的一個邏輯點,我們可以把事務回退到這個點,而不必回退整個事務。
語法:
在SQL Server中,語法為:SAVE TRANSACTION savepoint_name。
ROLLBACK TO SAVEPOINT命令
語法:
RELEASE SAVEPOINT命令
用於刪除建立的儲存點。
語法:
SQL Server不支援RELEASE SAVEPOINT命令;在事務完成以後,所有的儲存點會被自動刪除。
SET TRANSACTION命令
這個命令用於初始化資料庫事務,可以指定事務的特性。
例:
READ WRITE用於對資料庫進行查詢和操作資料的事務。
READ ONLY用於只進行查詢資料的事務。
watch out:如果一直沒有出現COMMIT或ROLLBACK命令,臨時儲存區域裡的回退資訊就會不斷增長,直到沒有剩餘空間,導致資料庫停止全部程序,直到空間被釋放。