(4.19)sql server中的事務模式(隱式事務,顯式事務,自動提交事務)
1.概念:隱式事務,顯式事務,自動提交事務
2.操作:如何設置事務模式
3.存儲過程中的事務 XACT_ABORT
1.概念
【1】隱式事務:即每個窗口系統會自動加上begin tran,但是不會自動提交,需要手動使用 commit 提交。
【2】顯示事務:需要begin tran commit tran/ rollback tran 配合使用
【3】自動提交事務:每一個DML、DDL都是獨立的事務,並且一旦執行就自動提交/錯誤也會自動回滾。
事務的基本控制語句
BEGIN TRANSACTION 表示本地事務的開始
BEGIN DISTRIBUTED TRANSACTION表示分布式事務起始
COMMIT TRANSACTION表示事務的提交
ROLLBACK TRANSACTION表示事務的回滾
COMMIT事務的提交 與COMMIT TRANSACTION功能相同
ROLLBACK 事務的回滾與ROLLBACK TRANSACTION功能相同
SAVE TRANSACTION設置事務保存點
2.操作
【1】隱式事務
SET IMPLICIT_TRANSACTIONS ON 語句啟動隱性事務模式
SET IMPLICIT_TRANSACTIONS OFF 語句關閉隱性事務模式
【2】顯式事務
通過發出 BEGIN TRANSACTION 語句顯式啟動事務。
【3】自動提交事務,默認為此項,無需設置;
只要隱式事務和顯式事務沒有開啟,就是自動提交事務。
SSMS操作,右擊實例-》屬性-》連接
3.存儲過程中的事務 XACT_ABORT
SET XACT_ABORT ON是設置事務回滾的! 默認為OFF
為OFF時,只回滾錯誤的地方。事務內剩余的語句都會執行;