DML操作的行级触发器,分为before和after两类。
比如下面在同一张表上分别建了2个触发器
然后用一个insert语句进行触发
结果发现,这2类触发器捕捉的:OLD和:NEW数据实际是一样的。那么什么时候用before,什么时候用after呢?
我们先要知道这2种触发器的特性区别:before触发器(针对insert和update操作)可以修改NEW的值
那么before的应用场景就是:需要修改NEW值的时候,其余场景一律使用after。
举个需要修改:NEW值的情况:某个字段数据库中是NUMBER型的,比如年龄,而送过来的数据是带字符的,比如“17岁”,直接写入就报错了,此时用触发器把数据进行规范化处理后再写入数据库,就可以用before类型的数据库。