關於交易控制敘述句
交易是一或多個 SQL 敘述句的序列,Oracle Database 會將它視為一個單位:會執行所有敘述句,或者都不會執行。您需要交易來建立需要以數個作業為一個單位執行的商業處理作業之模型。
例如,當經理人員離開公司時,必須將一列插入 JOB_HISTORY 表格,以顯示經理人員離開的時機,而對於每一位向該經理人員報告的員工,則 MANAGER_ID 的值必須在 EMPLOYEES 表格中更新。若要在應用程式中建立此程序的模型,您必須將 INSERT 和 UPDATE 陳述式分組為單一交易。
基本的交易控制敘述句為 SAVEPOINT、COMMIT 以及 ROLLBACK:
-
SAVEPOINT 會在交易中標示儲存點,這是您稍後可以倒回的點。儲存點是選擇性的,交易可以有多個儲存點。
-
COMMIT 結束目前交易、永久保留其變更、清除其儲存點,並釋放其鎖定。
-
ROLLBACK 會倒回 (還原) 整個目前的交易,或只倒回在指定的儲存點之後所做的變更。
在 SQL*Plus 環境中,您可以在 SQL> 提示之後輸入交易控制敘述句。
在 SQL Developer 環境中,您可以在「工作表」中輸入交易控制陳述式。SQL Developer 也具有「確認變更」和「倒回變更」圖示,其說明於確認交易和倒回交易。
注意:
若您未明確確認異動,且程式不正常終止,則資料庫會自動回復上次未確認的異動。
基於此行為,請確認或回復應用程式中的交易,以明確結束應用程式中的交易。
另請參閱:
-
Oracle Database Concepts,瞭解有關交易管理的詳細資訊
-
Oracle Database SQL Language Reference,瞭解交易控制敘述句的詳細資訊