create table BanlAccount
(
--帐号
ID int not null primary key,
--转账金额
moneys money
)
insert into BanlAccount values ('1','2000')
insert into BanlAccount values ('2','3000')
create procedure storeProcess
@toID int,
--接收转账的账户
@fromID int,
--转出自己的账户
@momeys money,
--转账的金额
as
--开始执行事务
begin tran
update BanlAccount
set moneys=moneys-@momeys
where ID=@fromID
--执行的第一个操作,转账出钱,减去转出的金额
update BanlAccount
set moneys=moneys+@momeys
where ID=@toID
--执行第二个操作,接受转账的金额,增加
--判断如果两条语句有任何一条出现错误
if @@error<>0
begin
–开始执行事务的回滚,恢复的转账开始之前状态
rollback tran
return 0
end
else
--如何两条都执行成功,执行这个事务的操作
begin commit tran
return 1
end