bank Sqlserver事务

bank Sqlserver事务用事务解决银行转账问题
2025-02-27 22:22:12
推荐回答(1个)
回答1:

从 0002 转账 900元给 0001
create table bank
(
cId char(4) primary key,
blance money,
)
alter table bank
add constraint CH_blance check(blance>=10)
insert into bank values('0001',10)
insert into bank values('0002',1000)

select * from bank
下面是事务

begin transaction
declare @error int;
update bank set blance=blance+900 where cId='0001'
set @error=(select @@ERROR)
update bank set blance=blance-900 where cId='0002'
set @error+=(select @@ERROR)
if(@error=0)
begin
commit
end
else
begin
rollback
end