认识事务(学习笔记)

数据库事务(Database Transaction)是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行。 正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。

为什么需要数据库事务?
好比生活转账,转账是生活中常见的操作,从A账户转账100元到B账号。站在用户角度而言,这是一个逻辑上的单一操作,然而在数据库系统中,至少会分成两个步骤来完成:
1.将A账户的金额减少100元
2.将B账户的金额增加100元。
当这两个操作同时完成,就是我们事务的实现

实例:(实现小杨给小崔转账100)
在这里插入图片描述
–开始事务

begin Transaction tran_Charge

–定义变量记录错误数量

declare @err_nums int
set @err_nums=0
begin try
update Customers set Remain=Remain-100 where id=3 set @err_nums=@err_nums+@@error
update Customers set Remain=Remain+100 where id=4 set @err_nums=@err_nums+@@error
end try
begin catch
print ‘错误编号:’+convert(varchar,error_number())+‘错误’+error_message() set @err_nums=@err_nums+1
end catch
if(@err_nums>0)
rollback Transaction tran_Charge --回滚事务
else
commit Transaction tran_Charge --提交事务

此时可以得到
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值