对触发器的思考
程序员文章站
2024-02-11 15:27:16
...
读到周洲同学的博客,看到一篇关于触发器的文章,是在用户充值时,需要在t_reCharge表中插入一条记录,同时更新t_card表以保证数据一致性.我们当时没想特别多,没想到触发器,就是写了多条sql语句,为了不出错后来使用了事务或存储过程,没记错的话是放在存储过程里
读到周洲同学的博客,看到一篇关于触发器的文章,是在用户充值时,需要在t_reCharge表中插入一条记录,同时更新t_card表以保证数据一致性.我们当时没想特别多,没想到触发器,就是写了多条sql语句,为了不出错后来使用了事务或存储过程,没记错的话是放在存储过程里了。她是这么实现的:
"recharge表中保证提取的是最新一条充值记录,card表中保证更新的记录满足卡号等于充值卡号。"
CREATETRIGGER[dbo].[CardCash] on [dbo].[T_Recharge] for Insert AS BEGIN UPDATE T_Card set sCash =sCash +(select top 1 rAdd fromT_Recharge order by rNo desc) WhereT_Card .cNo in (select top 1 cNo fromT_Recharge order by rNo desc ) END