在两种情况下可体现差别,第一种情况:DML语句执行失败时,如触发器使用before,则不会考虑语句是否执行成功,皆触发;如使用after,因为报错不会继续执行而产生触发;第二种情况:在进行DML操作前,验证对应操作合法性,那么触发器必须使用before;
before:(insert、update)可以对new进行修改。after不能对new进行修改。两者都不能修改old数据。
after:是先完毕数据的增删改,然后再触发。触发的语句晚于监视的增删改,无法影响前面的增删修改作。也就是说先插入订单记录。再更新商品数量。当商品数量少于订单数量时造成爆库。 before:先完毕触发,在进行增删改,触发语句先于监视的增删改,我们就有机会推断,改动即将发生的操作。 案例操作: 触发器使用after: 当某...