create proc TransferMoney as @TransferCode nvarchar(36) --转账人code @TransferToCode nvarchar(36) --转给谁Code @MoneyNumber money --转多少钱 begin if exists(select 1 from a where code=@TransferCode and (balance-@MoneyNumber)>-20 ) begin begin tran update a set balance=balance-@MoneyNumber where code=@TransferCode update a set balance=balance+@MoneyNumber where code=@TransferToCode if @@error>0 begin begin rollback tran --回滚 end else begin begin commit tran --提交事务 end endend end end 没开环境,大致就是这样
as
@TransferCode nvarchar(36) --转账人code
@TransferToCode nvarchar(36) --转给谁Code
@MoneyNumber money --转多少钱
begin
if exists(select 1 from a where code=@TransferCode and (balance-@MoneyNumber)>-20 )
begin
begin tran
update a set balance=balance-@MoneyNumber where code=@TransferCode
update a set balance=balance+@MoneyNumber where code=@TransferToCode
if @@error>0
begin
begin rollback tran --回滚
end
else
begin
begin commit tran --提交事务
end
endend
end
end 没开环境,大致就是这样