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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 什么是oracle数据库实例_oracle库和实例区别

    什么是oracle数据库实例_oracle库和实例区别一、数据库(Database)  数据库是一个数据的集合,不仅是指物理上的数据,也指物理、存储及进程对象的一个组合。Oracle是关系型数据库管理系统(RDBMS)。二、实例(Instance)  数据库实例(也称为服务器Server)就是用来访问一个数据库文件集的一个存储结构及后台进程的集合。它使一个单独的数据库可以被多个实例访问(也就是ORACLE并行服务器–

  • rider 2022 激活-激活码分享2022.01.27

    (rider 2022 激活)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1TCF…

  • python收集数据做主神_里纲_[综漫]收集数据做主神小说无防盗章节_作者忘却的悠_新书包网(www.51aslz.com)…[通俗易懂]

    python收集数据做主神_里纲_[综漫]收集数据做主神小说无防盗章节_作者忘却的悠_新书包网(www.51aslz.com)…[通俗易懂]“里包恩怎么了?”“没什么,只是在想,你做为里包恩的学生,能不能帮我个忙?”“帮忙?”纲不好意思的抓了抓头发,所有的心思都写在了脸上。什么我这么废柴能帮什么忙,虽然我很想帮忙,但是我真的什么都做不好。找里包恩本人更快吧,实在不行还有山本和狱寺他们。不过……库洛洛先生是黑手党吧?黑手党的事情,我们几个小孩子能帮什么忙呢?果然还是找里包恩比较好。能把心思在脸上表达的这么明明白白,你也算…

  • psm倾向得分匹配法举例_【计量地图】倾向得分匹配法(PSM)理论、操作与案例…[通俗易懂]

    这个方法的难点在于:首先,要明白反事实框架是一个什么样的东西?为什么一般把参与项目和不参与项目进行对比时会出现选择偏误?其次,搞清楚上面的原理之后,PSM真正难的是找到合适的协变量和完成两个苛刻的检验(共同支撑检验和平衡性检验)这篇文章我想达到哪些学习目标:(1)尽量汇集我看过的有用的资料(2)展示一个PSM分析的理论框架(3)针对难点说一下模型的调整问题(协变量选择、两个检验的调整)主要框架:1…

  • 数据库连接方案比拼

    数据库连接方案比拼

  • cglib BeanCopier的使用

    cglib BeanCopier的使用一、概述  选择Cglib的BeanCopier进行Bean拷贝的理由是,其性能要比Spring的BeanUtils,Apache的BeanUtils和PropertyUtils要好很多,尤其是数据量比较大的情况下。  之前的一篇文章:Easy-mapper教程——模型转换工具提到了Cglib的BeanCopier使用ASM字节码生成技术,所以性能会非常好。  下面的文章内容直接整理…

发表回复

您的电子邮箱地址不会被公开。

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