他包含的所有數(shù)據(jù)庫(kù)操作命令作為一個(gè)整體一起向系提交或撤消,這一組數(shù)據(jù)庫(kù)操作命令要么都執(zhí)行,要么都不執(zhí)行。
begin tran--開(kāi)始事務(wù)
declare @errorsum int--定義變量記錄錯(cuò)誤的數(shù)量
set @errorsum=0--錯(cuò)誤數(shù)量默認(rèn)為0
update dbo.OfficeRent set CreateTime=GETDATE() where Id=2 --持續(xù)Sql語(yǔ)句
set @errorsum+=@@ERROR--累計(jì)是否有錯(cuò)
update dbo.OfficeRent set Hits+=1 where Id=2 --持續(xù)Sql語(yǔ)句
set @errorsum+=@@ERROR--累計(jì)是否有錯(cuò)
if @errorsum>0--判斷是否出現(xiàn)錯(cuò)誤的情況
begin
print '有錯(cuò)誤,回滾'
rollback tran--出現(xiàn)錯(cuò)誤,回滾
end
else
begin
print '成功,提交'
commit tran--提交事務(wù)
end