您的位置:首页 > 数据库

sql 事务

2009-05-17 13:46 155 查看
use studb

go

update bank set currentmoney=currentmoney-1000 where costomername='chen'

set nocount on

print '查看转账事务前的行数信息'

select * from bank

go

begin transaction

declare @errorsum int

set @errorsum=0update bank set currentmoney=currentmoney-1000

where customername='zhangsan'

set @errorsum=@errorsum+@@error

update bank set currentmoney=currentmoney+100 where customername='lisi'

set @errorsum=@errorsum+@@error

print '查看转账事务过程中的余额'

select * from bank

if @errorsum<>0

begin

print '交易失败。回滚事务'

rollback transaction

end

else

begin

print '交易成功,提交成功,写入硬盘,永久保存'

commit transaction

end

go

print '查看转账事务后的余额'

select * from bank

go
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: