1.事務:**
————-作爲單個邏輯工作單元執行的一系列操作,多個操作作爲一個整體向系統提交,要麼都執行,要麼都不執行,事務是一個不可分割的工作邏輯單元
2.事務的特性
(1)原子性:要麼都執行,要麼都不執行
(2)一致性:事務完成時,數據必須處於一致狀態
(3)隔離性:相互獨立
(4)永久性:事務完成後,對數據庫的修改永久被保持
3.銀行轉賬實例
轉賬前
轉賬後,報錯了,Money因有檢查約束,Money>=1
此時查詢後,銀行虧損了500,傻B銀行肯定不幹了
4.創建事務
(1)開始事務 Begin Tran
(2)提交事務 Commit Tran
(3)回滾事務 Rollback Tran
5.操作步驟
(1)Begin Tran
(2)聲明變量用於累加錯誤,錯誤號使用全局變量@@ERROR
(3)爲全局變量賦值爲0
(4)操作sql語句
(5)set @變量=@變量+@@ERROR
….
(6)使用IF…ELSE判斷累加錯誤號是否大於0,大於0就回滾,否則就提交
6.實例開啓事務控制
Money必須>=1檢查約束,一旦違反就是回滾
轉賬前餘額
7.實例2
Money這次是>=1的情況下,提交事務