开始事务 begin transaction
提交事务 commit transaction
回滚(撤销)事务 rollback transaction
一旦事务提交或回滚,则事务结束
操作步骤:
【1】gegin tran
【2】声明变量用于累加错误号,错误号使用全局变量@@error
【3】为【2】中的声明的变量赋初值为0
【4】增,删,改T-SQL语句
【5】set @变量=@变量 + @@error --累计错误号
重复【4】,【5】直到所有的业务完成
【6】使用if。。。else判断累加的错误号是否>0,大于0就回滚,否则提交
例子:
use E_Market go set nocount on --不显示受影响的行数 --查看转账之前的余额 print '查看转账之前的余额' select * from bank go --开始事务(从此处开始,后续的T-SQL语句是一个整体) --【1】开始事务 begin tran --[2]定义变量,用于累计事务执行过程中的错误】、 declare @error int --[3]给[2]中声明的变量赋值 set @error=0 --【4】开始执行转账,张小虎的账号中减500 update bank set currentMoney=currentMoney -300 where customerName='张小虎' --[5]累加错误 set @error=@error + @@ERROR --重复执行,[4],[5] --王小丽账号加500 update bank set currentMoney=currentMoney + 300 where customerName='王小丽' set @error=@error + @@ERROR print '查看转账过程的余额' select * from bank --[6]使用if...else去判断累加的错误号,确定事务是提交还是回滚 if (@error >0) begin print'交易失败!,回滚事务' rollback tran --回滚事务 end else begin print '交易成功,提交事务,写入硬盘!' commit tran --提交事务 end --查看转账后的余额 print '查看转账后的余额' select * from bank go