[英]transaction commit?
有人可以解釋何時以及為什么使用commit嗎? http://msdn.microsoft.com/en-us/library/ms190295.aspx
。
1)更新tableX recordM
2)在表Y記錄中更新N
3)更新tableZ記錄O
4)在這里使用提交
..
如果2)失敗並且recordN沒有更新,則回滾而不進行3)和4)提交? 那是你會用它的地方嗎?
每當一個或多個操作(事務)完成並且您希望更改數據庫時,請使用commit。
在您的示例中,如果2)失敗,則應進行回滾,並且操作1)將撤消操作,以便使數據庫保持一致
例如。 如果您有書店系統,則每當出售書籍時,都必須執行以下操作:
您要么希望所有操作成功完成,要么什么都不做。 所以你應該:
如果有問題,請全部回滾(撤消)
當您要將對偶操作視為一項操作時,請始終使用提交。 這意味着當至少一個失敗時,所有錯誤都將恢復為提交前的狀態。
這非常有用,因為某些動作應視為原子操作,例如。 銀行業務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.