如何使用SQL Server事务

什么是事务?

事务就是被绑定在一起作为一个逻辑工作单元的SQL语句组

在哪里使用事务?

为了确保要么执行,要么不执行,就可以使用事务。

为什么要用事务?

如果任何一个语句操作失败那么整个操作就被失败,进而回滚到操作前状态,或者是上个节点。

事务有哪些特点?

要将一组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。

如何使用事务?

我们建立如下表,数据可自行添加:

列名 数据类型 数据规范
ID int 主键,自增
Name nvarchar(50) 用户名
Remain decimal(18, 2) 余额

在这里插入图片描述
创建存储过程,在其中创建视图并调用:

go
create proc pc_upd_remian(
@qid int,
@hid int
)
as
--定义变量记录错误数量
declare @error_nums int
set @error_nums=0
--开始事务
begin transaction tran_change
begin try
update [dbo].[Customer] set Remain=Remain-300 where ID=@qid
update [dbo].[Customer] set Remain=Remain+300 where ID=@hid
end try
begin catch
set @error_nums=@error_nums+1
print '错误异常'+convert(varchar(50),error_number()) +'错误消息'+error_message()
end catch
if(@error_nums>0)--表示有错,回滚
rollback transaction tran_change
else
 commit transaction tran_change
 exec pc_upd_remian '4','5'

调用成功后结果如下 :
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46839702/article/details/106375007
今日推荐