Oracle Database/SQL
Transaction事務
編輯- 開始事務:連接到數據庫,執行DML、DCL、DDL語句
- 結束事務:
- 執行DDL(例如CREATE TABLE),DCL(例如GRANT),系統自動執行COMMIT語句
- 執行COMMIT/ROLLBACK語句
- 關閉數據庫連接會自動執行COMMIT語句
- 進程意外終止,事務自動rollback
- 保存點(savepoint): 可以在事務的任何地方設置保存點,以便ROLLBACK
- RELEASE SAVEPOINT --釋放存儲點
- 死鎖:當兩個事務相互等待對方釋放資源時,就會形成死鎖
事務COMMIT時會生成一個唯一的系統變化號(SCN)保存到事務表
設定事物的互斥類型:
- SET TRANSACTION READ ONLY 事務中不能有任何修改數據庫中數據的操作語句,這包括 insert、update、delete、create語句
- SET TRANSACTION READ WRITE 默認設置,該選項表示在事務中可以有訪問語句、修改語句
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED 支持幻讀、支持不可重複讀
- SET TRANSACTION ISOLATION LEVEL SERIALIZABLE