事務是用來分割數據庫活動的邏輯工作單元,事務即有起點,也有終點;
當下列事件之一發生時,事務就開始了:
連接到數據庫上,並執行了第一天 DML 語句; 當前一個事務結束後,又輸入了另外一條 DML 語句;
當下列事件之一發生時,事務就結束了:
執行 COMMIT 或 ROLLBACK語句;執行一條 DLL語句,例如 CREATE TABLE 語句;在這種情況下, 會自動執行 COMMIT 語句;執行一條 DCL語句,例如GRANT語句;在這種情況下,會自動執行COMMIT語句; 斷開與數據庫的連接。在退出SQL*Plus時,通常會輸入EXIT命令,此時會自動執行COMMIT語句。如果SQL*Plus被意外終止了(例如運行SQL*Plus的計算機崩潰了),那麼就會自動執行ROLLBACK語句;執行了一條DML語句,該語句卻失敗了;在這種情況中,會為這個無效的DML語句執行ROLLBACK;
注意:事務完成之後,如果不顯示地提交或回滾事務,都被認為是不好的編程習慣,因此確保在每個事務後面都要執行COMMIT或ROLLBACK語句。