创建事务

开始事务 begin transaction

提交事务 commit transaction

回滚(撤销)事务 rollback transaction

 

一旦事务提交或回滚,则事务结束

操作步骤:

【1】begin 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

  

转载于:https://www.cnblogs.com/zhangxudong-cnblogs/p/10878348.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值