当前位置: 代码迷 >> SQL >> Sql Server使用事务实现-转账有关问题
  详细解决方案

Sql Server使用事务实现-转账有关问题

热度:21   发布时间:2016-05-05 12:55:30.0
Sql Server使用事务实现--转账问题
create table Bank
(
  Cid char(4) primary key,
  balance money
)
alter table Bank
add constraint CH_balance check (balance>=10)
insert into Bank values('0001',1000)
insert into Bank values('0002',10)

update Bank set balance=balance-1000 where Cid='0001'
update Bank set balance=balance+1000 where Cid='0002'

begin tran
begin try
declare @errorsum int=0
update Bank set balance=balance-900 where Cid='0001'
set @errorSum=@errorSum+@@error
update Bank set balance=balance+900 where Cid='0002'
set @errorSum=@errorSum+@@error
commit
print '提交!!'
end try
begin catch
  rollback
  print '回滚!'

end catch


打开"隐式事务":set implicit_Transactions on

关闭“隐式事务”:set implicit_Transactions off


  相关解决方案