[點(diǎn)晴永久免費(fèi)OA]SQL Server事務(wù)及回滾事務(wù)
第一種:
declare @iErrorCount int set @iErrorCount = 0 begin tran Tran1 insert into t1(Id, c1) values(1,''1'') set @iErrorCount=@iErrorCount+@@error insert into t1(Id, c1) values(''XX2'',''2'') set @iErrorCount=@iErrorCount+@@error if @iErrorCount=0 begin COMMIT TRAN Tran1 --執(zhí)行事務(wù) end else begin ROLLBACK TRAN Tran1 --回滾事務(wù) end 第二種: Begin Try Begin Tran Tran1 insert into t1(Id, c1) values(1,''1'') insert into t1(Id, c1) values(''XX2'',''2'') --此句產(chǎn)生錯(cuò)誤 COMMIT TRAN Tran1 END Try Begin Catch raiserror 50005N''出錯(cuò)了'' ROLLBACK TRAN Tran1 ---出錯(cuò)后調(diào)用回滾 END Catch 第三種: SET XACT_ABORT ON ----語(yǔ)句產(chǎn)生運(yùn)行時(shí)錯(cuò)誤,則整個(gè)事務(wù)將終止并回滾。 Begin Tran INSERT INTO t1(Id, c1) VALUES(1,''1'') INSERT INTO t1(Id, c1) VALUES(''XX2'',''2'') --此句產(chǎn)生錯(cuò)誤時(shí),就會(huì)回滾整個(gè)事務(wù) Commit Tran 該文章在 2020/11/13 11:08:34 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |