create or replace trigger t_after_user_copy --create or replace trigger 触发器名称
after insert or update or delete ---时间 after/before 事件 insert or update or delete
on t_user ---作用的表 on tablename
FOR EACH ROW -- 指定是否对受影响的每行都执行触发器,即行级触发器,如果不使用此子句,则为语句级触发器
BEGIN
IF INSERTING THEN
insert into t_user_copy(ID,NAME) values(:NEW.ID,:NEW.NAME);
ELSIF UPDATING THEN
UPDATE t_user_copy SET NAME = :NEW.NAME WHERE ID = :OLD.ID;
ELSIF DELETING THEN
DELETE FROM t_user_copy WHERE ID = :OLD.ID;
END IF;
END;
相关参数注解:
before和after:指在事件发生之前或之后激活触发器。
insert、delete和update:指定构成触发器事件的数据操纵类型,update还可以制定列的列表。
referencing:指定新行(即将更新)和旧行(更新前)的其他名称,默认为NEW和OLD。
for each row:指定是否对受影响的每行都执行触发器,即行级触发器,如果不使用此子句,则为语句级触发器
|