ORACLE 的触发器类型有哪些,ORACLE触发器类型

ORACLE 的触发器类型有哪些,ORACLE触发器类型1.DML触发器由对表的INSERT,DELETE,UPDATE激发CREATEORREPLACETRIGGERtrigger_nameAFTER–TIMING:BEFOREORAFTERDELETEORINSERTORUPDATEONtable_name–STATEMENT–REFERE…

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

1.DML触发器

由对表的INSERT,DELETE,UPDATE激发

CREATE OR REPLACE TRIGGER trigger_name

AFTER                                    — TIMING :BEFORE OR AFTER

DELETE OR INSERT OR UPDATE ON table_name — STATEMENT

–REFERENCING :new a :old b              — new,语句后的表,old,语句前的表

FOR EACH ROW                             — LEVEL,行级

BEGIN

–PL/SQL

IF INSERTING THEN

insert into AUDIT_STUDENT

values

(sysdate, :new.id, :new.name, ‘INSERT’);

ELSIF DELETING THEN

insert into AUDIT_STUDENT

values

(sysdate, :old.id, :old.name, ‘DELETE’);

ELSE

insert into AUDIT_STUDENT

values

(sysdate, :old.id, :old.name, ‘UPDATE’);

END IF;

END;

/

/*DML触发器执行顺序

a.BEFORE语句级

b.BEFORE行级

c.AFTER行级

d.AFTER语句级

*/

语句级触发器:在语句执行前或执行后被触发

行级触发器:在每个触发语句影响的行触发一次,

2.INSTEAD OF触发器

代替直接对视图的INSERT,DELETE,UPDATE操作

CREATE OR REPLACE TRIGGER VW_STU_COURSE_INSERT

INSTEAD OF INSERT ON VW_STU_COURSE

FOR EACH ROW

DECLARE

rowcnt number;

BEGIN

INSERT INTO stu_info(id,name)

values(:new.id,:new.name);

insert into course_info(course_no,course_name)

values(:new.course_no,:new.course_name);

END;

/

3.系统触发器

a.DDL事件(CREATE,ALTER,DROP语句),需要有ADMISTRATER,DATABASE,TRIGGER特权

b.数据库事件

服务器启动,关闭

用户登录,注销

服务器错误等

CREATE OR REPLACE TRIGGER LogUser2Connects

AFTER LOGON ON DATABASE

BEGIN

INSERT INTO logon_record

values(sysdate,ora_login_user);

END;

/

–Enabling And Disabling Triggers

–Enabling Triggers

ALTER TRIGGER REORDER ENABLE;

ALTER TABLE INVENTORY ENABLE ALL TRIGGERS;

–Enabling Triggers

ALTER TRIGGER REORDER DISABLING;

ALTER TABLE INVENTORY DISABLING ALL TRIGGERS;

–View Of Triggers

USER_TRIGGERS

ALL_TRIGGERS

DBA_TRIGGERS

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

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

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


相关推荐

  • js弹出确认取消对话框_jquery弹出确定取消框

    js弹出确认取消对话框_jquery弹出确定取消框一种:<ahref="javascript:if(confirm('确实要删除该内容吗?')){location='http://www.google.co

    2022年8月2日
    48
  • 单片机视频教程转让

    单片机视频教程转让单片机的C语言视频教程转让,本套光盘购于天祥电子,花了我200大元,如今我以60元(包快递)的价格转让。有意者请与我联系。QQ:247964971 电话:13982129248讲座从最基本电路知识开始讲起,非常详细的讲解KEIL编译器的使用,课程全部用单片机的C语言讲解,从C语言的第一个主函数MAIN讲起,一步步讲解每一个语法,每条指令的意思,即使对单片机一巧不能,对C语言一无所知,通过

    2022年5月12日
    42
  • Dubbo分布式服务框架入门(附工程)

    Dubbo分布式服务框架入门(附工程)

    2020年11月12日
    168
  • CPU指令集——AVX2

    CPU指令集——AVX21.查看CPU所支持的指令集借助CPU-Z工具,可查看当前CPU所支持的指令集:由此可知,Inteli7-7700CPU支持AVX2指令集,但是不支持AVX-512指令集。根据https://medium.com/@hdevalence/even-faster-edwards-curves-with-ifma-8b1e576a00e9可知,其基于AVX512-IFMA的实现是AVX2速…

    2022年5月7日
    1.3K
  • 微信小程序快速接口编写

    微信小程序快速接口编写

    2021年9月17日
    88
  • DialogBOX-函数功能[通俗易懂]

    DialogBOX-函数功能[通俗易懂]该宏根据对话框模板资源创建一个模态的对话框。DialogBOX函数直到指定的回调函数通过调用EndDialog函数中止模态的对话框才能返回控制。该宏使用DialogBoxParam函数。函数原型:intDialogBox(HINSTANCEhlnstance,LPCTSTRIpTemplate,HWNDhWndParent,DLGPROCIpDialogFunc);   参数:hlnst

    2025年6月7日
    1

发表回复

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

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