1. 程式人生 > >SQL server 事務介紹,建立與使用

SQL server 事務介紹,建立與使用

事務(Transaction)
事務是一種機制,一個操作序列,包含一組操作指令,並且把所有的命令作為一個整體一起向系統提交或撤銷操作請求(即要麼全部執行,要麼全部不執行)
---------------------------------------
事務的4個屬性
原子性(Atomiciy)
事務中的所有元素必須作為一個整體提交或回滾,其元素是不可分的(原子性),如果事務中的任何元素出現失敗則全部失敗.
一致性(Consistency)
資料必須處於一致狀態,也就是說事務開始與結束資料要一致,不能損壞其中的資料,也就是說事務不能使資料儲存處於不穩定狀態.
隔離性(Isolation)
事務必須是獨立的不能以任何方式依賴或影響其他事務
永續性(Durability)

事務完成後,事務的效果永久的儲存在資料庫中
---------------------------------------
事務分類
顯式事務
則用begin transaction指定事務開始commit.../rollback...指定結束
隱式事務
通過設定 set implicit_transaction on(開)或者off(關)
自動提交事務
預設情況下SQL server每條語句都是一個事務,成功就自動提交,失敗就回滾
---------------------------------------
執行事務的語法
開始事務
begin transaction
提交事務
commit transaction
回滾(撤銷)事務

rollback transaction
---------------------------------------
示例:
begin Transaction
update user set id+=1 where id=1111
if(@@error<>0) //判斷是否報錯如果報錯就回滾資訊否則提交事務
rollback transaction
else
commit transaction