问题描述
- 在Mssql 的触发器中有没有和Mysql一样的AFTER和BEFORE的功能
-
我用的数据库是Mssql,想要找一个对触发器有优先级的操作,就像Mysql中的AFTER和BEFORE一样的功能:AFTER 执行完操作之后.再执行这个触发器的语句..
BEFORE 执行完触发器的语句,再执行操作请问各位大虾,在MSSQL中是否也有这样的一个东西存在呢?我是SqlServer 2008R2版本的!先感谢各位的鼎力相助~~~
解决方案
after:是先完成数据的增删改,然后再触发,触发的语句晚于监视的增删改,无法影响前面的增删改动作;也就是说先插入订单记录,再更新商品数量。当商品数量少于订单数量时造成爆库。
before:先完成触发,在进行增删改,触发语句先于监视的增删改,我们就有机会判断,修改即将发生的操作。
案例操作:
触发器使用after:
当某个订单的数量超过库存的数量时会出现库存为负数。造成所谓的爆库问题。
......
答案就在这里:MySQL触发器 trigger之after与before区分
时间: 2025-01-19 13:28:51