乙個很好的事務處理系統,必須具備這些標準特性:
乙個事務必須被視為乙個不可分割的最小工作單元,整個事務中的所有操作要麼全部提交成功,要麼全部失敗回滾,對於乙個事務來說,不可能只執行其中的一部分操作,這就是事務的原子性
資料庫總是從乙個一致性的狀態轉換到另乙個一致性的狀態。(在前面的例子中,一致性確保了,即使在執行第三、四條語句之間時系統崩潰,支票賬戶中也不會損失200美元,因為事務最終沒有提交,所以事務中所做的修改也不會儲存到資料庫中。)
通常來說,乙個事務所做的修改在最終提交以前,對其他事務是不可見的。(在前面的例子中,當執行完第三條語句、第四條語句還未開始時,此時有另外的乙個賬戶彙總程式開始執行,則其看到支票帳戶的餘額並沒有被減去200美元。)
一旦事務提交,則其所做的修改會永久儲存到資料庫。(此時即使系統崩潰,修改的資料也不會丟失。)begin / start transaction 開始事務
commit 提交
rollback 回滾
應用系統中的事務處理
在應用系統中,我們往往需要對資料和事務進行訪問和處理,為了分離資料訪問和業務邏輯我們引入了dao,但在dao中處理事務也是一件重複無聊的工作,那麼我們可以採用現有的容器管理的事務如ejb和spring 我個人比較喜歡spring,但是如果我們不想採用這些容器那怎麼辦呢.我在這裡實現了乙個簡單的動態事...
Spring的事務處理
spring的事務處理機制,給我們程式設計帶來了極大的方便,one transaction per request的實現模式,是本人最為欣賞的!在之前開始接觸spring的時候,為了實現事務處理的模式,我們在宣告事務的時候,一般是這麼做 首先宣告乙個事務模板,propagation required...
interbase的事務處理
如果你使用過sybase,ms sql server等關聯式資料庫,你可能對interbase的事務處理感到奇怪。在interbase中如何進行事務處理呢?如何啟動 提交 回退事務呢?interbase中進行事務處理的語句在 呢?特別在編寫和使用儲存過程 觸發器時,不少人存在這種疑惑。實際上,只要搞...