SQL Server之事務詳解
時間:2020-05-09 作者:管理員(yuán) 點擊:983
1.事務的概念
事務(TRANSACTION)是:使一(yī)個事務内的語句成爲一(yī)個整體(tǐ)來執行,作爲單個邏輯工(gōng)作單元執行的一(yī)系列操作作爲一(yī)個整體(tǐ)向系統提,要麽都執行、要麽都不執行,事務是一(yī)個不可分(fēn)割的工(gōng)作邏輯單元在創建存儲過程使用,事務是保證數據完整性的最小(xiǎo)的一(yī)個單位要不都成功要不都失敗
2.事務的特性(ACID)
原子性:完整的整體(tǐ),要麽都執行,要麽都不執行
一(yī)緻性:事務完成時,數據必須處于一(yī)緻狀态
隔離(lí)性:張三和李四的轉賬,王五和趙二的轉賬之間相互獨立
永久性:事務完成後他對數據庫的修改被永久的保存
3.事務分(fēn)類
(1)顯式事務:又(yòu)叫用戶定義事務,指用戶執行SQL事務語句而定的事務
1.啓動事務:
通過發出begin transaction語句顯示啓動事務
begin transaction [事務的名稱 @變量] [with mark['描述标記的字符串']]]
2.提交事務
commit transaction[事務的名稱@變量]
或
commit [work]
3.取消事務(回滾事務)
rollback transaction[事務的名稱 @變量|保存點|@保存點變量]
或
rollback work
4.設置事務保存點
save transaction <保存點|@保存點變量>
@保存點變量,必須使用char,varchar,nchar,navrchar數據類型聲明該變量
隐式事務:不需要使用begin transaction語句啓動事務
通過set implicit_transactions on 語句,将隐式事務打開(kāi)
通過set implicit_transactions off 語句,将隐式事務關閉
自動事務:當一(yī)個語句成功執行後,被自動提交。産生(shēng)錯誤後,被自動回滾
5.事務控制
(1)開(kāi)始事務:BEGIN TRANSACTION
(2)提交事務:COMMIT TRANSACTION
(3)回滾(撤銷)事務:ROLLBACK TRANSACTION一(yī)旦事務提交或回滾,則事務結束
(4)設置事務保存點:
(5)當前事務嵌套:通過全局變量@@TRANCOUNT
使用begin transaction,加1
使用commit,減1
(6)事務處理過程中(zhōng)的錯誤:
具體(tǐ)的例子大(dà)家就到書(shū)上自己尋找吧,哈哈哈,太懶了,我(wǒ)(wǒ)就不往上寫了