create trigger trig_trans
on transInfo
for insert
as
declare @transMoney money,@transType char(10),@cardID varchar(20),@balance money
select @transMoney=transMoney,@transType=transType,@cardID=cardID
from inserted
select @balance=balance from cardInfo where @cardID=cardID
if(@transType='支取')
begin
if @balance<=@transMoney
begin
raiserror('交易失败!余额不足!',16,1)
rollback tran
end
else
begin
update cardInfo set balance=balance-@transMoney
where cardID=@cardID
select @balance=balance from cardInfo where cardID=@cardID
print '交易成功!余额为'+ cast (@balance as varchar(10))+'RMB'
end
end
else
begin
update cardInfo set balance=balance+@transMoney
where cardID=@cardID
select @balance=balance from cardInfo where cardID=@cardID
print '交易成功!余额为'+ cast (@balance as varchar(10))+'RMB'
end