sql事务的定义以及使用

1.事务是什么?
事务就是被绑定在一起作为一个逻辑工作单元的SQL语句组,如果任何一个语句操作失败那么整个操作就被失败,进而回滚到操作前状态,或者是上个节点。为了确保要么执行,要么不执行,就可以使用事务。要将一组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。
2.事务的作用
1.0、为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。

2.0、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。
3.0 可以保证数据的一致性和完整性(避免异常和错误等导致的数据信息异常)
2.事务的使用语法
原表数据
实现刘刘某向夏某转账200

--定义一个变量,记录错误数;
create proc pro_changeAcount
(
@idIn int ,
@idOut int ,
@Remain decimal(18,2)
)
as 
declare @error_nums int 

set @error_nums=0

--开始事务
begin transaction tran_change
begin try 
update Customers set Remain=(Remain-200)  where id=1
 set @error_nums=@error_nums+@@ERROR
 update Customers set Remain=(Remain+200)  where id=2
end try 
begin catch
set @error_nums=@error_nums+1
print '错误信息'+error_number()+',错误信息'+error_message()
end catch 
if( @error_nums>0)
--回滚事务
rollback tran tran_change
else
--提交事务
commit  tran tran_change

–执行事务后查询Customers 表

select*from Customers 

得到结果如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值