Orace

Oracle 触发器

徘徊边缘 提交于 2019-12-10 19:55:51
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Oracle触发器 一、定义: 在触发事件发生时隐式自动运行的(PL/SQL)程序块。触发器不能接收参数,不能被别的程序、函数等调用。 二、构成: 触发器名称 触发器的触发事件 触发器的限制条件 触发器执行语句 DML触发器触发事件: 表插入、表更新、表删除 触发器触发时机: BEFORE AFTER 触发器种类: 1.语句级触发器: 语句级触发器在每个数据修改语句执行后只调用一次,而不管这一操作将影响到多少行。 摘自百科: 例:创建一个orderdetails_tablelog表及一个AFTER触发器,用于记录是哪些用户删除了orderdetails表中的数据及删除的时间。 CREATE TABLE orderdetails_tablelog ( WHO VARCHAR2(40), OPER_DATE DATE ); CREATE OR REPLACE TRIGGER DELE_ORDERDETAILS AFTER DELETE ON ORDERDETAILS BEGIN INSERT INTO ORDERDETAILS_TABLELOG (WHO, OPER_DATE) VALUES (USER, SYSDATE); 在该触发器被触发后,尽管一次删除多条记录,但触发器只执行一次插入操作。 2.行级触发器