SQL 事务处理

use Demo
go

create table Account
(
AccountNumber varchar(20) not null primary key,
AccountName varchar(20) not null,
Balance decimal(18,2) not null check(Balance>=0)
)
go
--创建数据
insert into Account values(123456,'张晓慧',399.00)
insert into Account values(654321,'王晓丽',432.00)
go
select * from Account
go

--修改数据
alter table Account with check
add check(Balance>0 and Balance<1000)

go
--利用事务来处理所出现的问题
select * from Account
--声明变量
declare @Err int
--变量赋值

set @Err=0
begin transaction
--增加金额
update Account set Balance=Balance+200 where AccountNumber='123456'
set @Err=@@ERROR+@Err
--减少金额
update Account set Balance=Balance -200 where AccountNumber='654321'
set @Err=@@ERROR+@Err
if @Err=0
begin
 commit transaction  --提交事务
 print '事务提交成功'
end
else
begin
rollback transaction --事务回滚
print '事务回滚'
end
--查询数据库表内容
select * from Account

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT摆渡者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值