資料庫事務,資料庫交易處理

來源:互聯網
上載者:User

資料庫事務,資料庫交易處理
資料庫事務的概念
兩次連續成功的COMMIT或ROLLBACK之間的操作,稱為一個事務。在一個事務內,資料的修改一起提交或撤銷,如果發生故障或系統錯誤,整個事務也會自動撤銷。
比如,我們去銀行轉賬,操作可以分為下面兩個環節:
(1) 從第一個賬戶划出款項。

(2) 將款項存入第二個賬戶。

在這個過程中,兩個環節是關聯的。第一個賬戶划出款項必須保證正確的存入第二個賬戶,如果第二個環節沒有完成,整個的過程都應該取消,否則就會發生丟失款項的問題。
          整個交易過程,可以看作是一個事物,成功則全部成功,失敗則需要全部撤消,這樣可以避免當操作的中間環節出現問題時,產生資料不一致的問題。

 資料庫事務的應用
資料庫交易處理可分為隱式和顯式兩種。明確交易操作通過命令實現,隱含交易由系統自動完成提交或撤銷(回退)工作,無需使用者的幹預。
隱式提交的情況包括:當使用者正常退出SQL*Plus或執行CREATE、DROP、GRANT、REVOKE等命令時會發生事務的自動認可。

系統的環境變數AUTOCOMMIT設定為ON(預設狀態為OFF)
SET AUTOCOMMIT ON/OFF
隱式回退的情況包括:當異常結束SQL*Plus或系統故障發生時,會發生事務的自動回退。


如何開始一個新的事務呢?
         一般情況下,開始一個會話(即串連資料庫),執行第一條SQL語句將開始一個新的事務,或執行COMMIT提交或ROLLBACK撤銷事務,也標誌新的事務的開始。另外,執行DDL(如CREATE)或DCL命令也將自動認可前一個事務而開始一個新的事務。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.