AFTER触发事件ON表名FOREACHROWBEGIN执行语句列表END命令解释:CREATETRIGGER为标准写法,before、after表示事件和sql语句先后执行的顺序,before表示在sql语句执行前执行语句,after表示在sql语句执行后执行语句,on表名表示作用对象,意思是在对哪个表操作时候会执行这个触发器,foreachrow可加可不加,不加就是表级触发器,加的话就是行级触发器,触发事件是dml操作,这个事件有三种,insert、delete、update,表示在对对象执行哪些操作时候才会触发这个触发器,所以一个对象最多有6种触发器,上面的before、after和下面的三个事件组合。四、案例举证;老韩有这样一个需求,我要管理所有的设备,设备入库状态是正常使用,设备入库之后我可能会走报废流程,走完报废流程这个设备的状态自动更改为报废,这个需求如何实现呢?老韩来分析一下,首先要有一个台账表,记录设备信息,每一台设备都有设备编号,这个设备编号作为主键,走设备维护申请单的时候也要填写设备的信息,只需要填写设备编号即可,别的信息自动带出,流程走完数据库中设备维护申请单这个表中有一条新数据时候就会执行修改同设备编号的设备状态,设备表和报废表我就不设计了,我只讲方法,具体如何做一定要自己做,触发器如下图所示:如上图所示,上图中有一点需要讲一下,图中有一个new,表示是触发该触发器语句数据,我称它为伪表,伪表是oracle中的叫法,表示临时表,有读者朋友就会想,有new有没有old呢?是有的,当事件为insert的时候有通过new获取插入的数据,只有new,当事件为update的时候,既有new也有old,new表示更新后的数据,old表示更新前的数据,delete中只有old。其实这个new关键字类似于j2ee中要接触的一个很重要的概念,那就是上下文,后面我们再接触,有个印象。触发器在工作中会经常用到,老韩之前也说过,一个好的DBA顶的上半个开发。今天的分享就到这里,没有