事務的作用以及了解(原文來源於其他博文)
阿新 • • 發佈:2017-08-15
ram 代碼量 動態代理 n) 但是 表示 mit exe 永久
首先,說說什麽事務
(Transaction)。
事務,就是一組操作數據庫的動作集合。
事務是現代數據庫理論中的核心概念之一。如果一組處理步驟或者全部發生或者一步也不執行,我們稱該組處理步驟為一個事務。當所有的步驟像一個操作一樣被完整地執行,我們稱該事務被提交。由於其中的一部分或多步執行失敗,導致沒有步驟被提交,則事務必須回滾到最初的系統狀態。
事物的基本特征:
- 事務是並發控制的單位,是用戶定義的一個操作序列。這些操作要麽都做,要麽都不做,是一個不可分割的工作單位。通過事務,SQL Server能將邏輯相關的一組操作綁定在一起,以便服務器保持數據的完整性。
- 事務通常是以BEGIN TRANSACTION開始,以COMMIT或ROLLBACK結束。
- COMMIT表示提交,即提交事務的所有操作。具體地說就是將事務中所有對數據庫的更新寫回到磁盤上的物理數據庫中去,事務正常結束。
- ROLLBACK表示回滾,即在事務運行的過程中發生了某種故障,事務不能繼續進行,系統將事務中對數據庫的所有以完成的操作全部撤消,滾回到事務開始的狀態。
- 自動提交事務:每條單獨的語句都是一個事務。每個語句後都隱含一個COMMIT。
- 顯式事務: 以BEGIN TRANSACTION顯式開始,以COMMIT或ROLLBACK顯式結束。
- 隱性事務 :在前一個事務完成時,新事務隱式啟動,但每個事務仍以COMMIT或ROLLBACK顯式結束。
- 原子性(Atomicity) 事務是數據庫的邏輯工作單位,事務中包括的諸操作要麽全做,要麽全不做。
- 一致性(Consistency)事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
- 隔離性(Isolation)一個事務的執行不能被其他事務幹擾。
- 持續性/永久性(Durability)一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。
- TransactionDefinition //事務屬性定義
- TranscationStatus //代表了當前的事務,可以提交,回滾。
- PROPAGATION_REQUIRED--支持當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。
- PROPAGATION_SUPPORTS--支持當前事務,如果當前沒有事務,就以非事務方式執行。
- PROPAGATION_MANDATORY--支持當前事務,如果當前沒有事務,就拋出異常。
- PROPAGATION_REQUIRES_NEW--新建事務,如果當前存在事務,把當前事務掛起。
- PROPAGATION_NOT_SUPPORTED--以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。
- PROPAGATION_NEVER--以非事務方式執行,如果當前存在事務,則拋出異常。
- PROPAGATION_NESTED--如果當前存在事務,則在嵌套事務內執行。如果當前沒有事務,則進行與PROPAGATION_REQUIRED類似的操作。
原文的URL:http://coffeelet.blog.163.com/blog/static/13515745320108331553230/
事務的作用以及了解(原文來源於其他博文)