第十二 SQL模拟转账(事务)

View Code
--模拟转账(事务)

begintransaction

declare @errorSum int

set @errorSum=0

update Customer set CurrentMoney=CurrentMoney-500

where [Name]='张三'

set @errorSum=@errorSum+@@error

update Customer set CurrentMoney=CurrentMoney+500

where [Name]='李四'

set @errorSum=@errorSum+@@error

printconvert(varchar(50),@errorSum)

if(@errorSum<>0)

begin

print'回滚事务,还原到更新前的数据状态'

rollbacktransaction

end

else

begin

print'提交事务,对数据库的修改是永久的'

committransaction

end

go

 

posted @ 2012-06-24 13:30  ComBat  阅读(351)  评论(0编辑  收藏  举报