Oracle 触发器写法

Oracle 触发器写法createorreplacetriggert_after_user_copy–createorreplacetrigger触发器名称afterinsertorupdateordelete—时间after/before事件insertorupdateordeleteont_user—作用的表ontablenameFOREACHROW–指定是否对受影响的每行都执行触发器,即行级触发器,如果不使用此子句,则为语句级触发器.

大家好,又见面了,我是你们的朋友全栈君。

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:指定是否对受影响的每行都执行触发器,即行级触发器,如果不使用此子句,则为语句级触发器

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157598.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号