ORACLE 的触发器类型有哪些,ORACLE触发器类型
ORACLE触发器类型
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
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 TriggersUSER_TRIGGERSALL_TRIGGERSDBA_TRIGGERS
ORACLE 的触发器类型有哪些,ORACLE触发器类型相关推荐
- oracle触发器记录所有dml,Oracle DML类型触发器
Oracle DML类型触发器 Oracle DML类型触发器是Oracle开发过程当中最经常用到,也是最常见的触发器,主要是对DML操作,如:insert.delete.update操作事件进行触发 ...
- ORACLE PL/SQL编程之八: 把触发器说透
本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...
- ORACLE PL/SQL编程之八:把触发器说透
ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之八: 把触发器说透 大家一定要评论呀,感谢!光发表就花了我将近一个下午. 本篇主要内容如下: 8.1 触发器类型 8. ...
- oracle触发器报错语法,Oracle 触发器
Oracle触发器是使用者对Oracle数据库的对象做特定的操作时,触发的一段PL/SQL程序代码,叫做触发器.触发的事件包括对表的DML操作,用户的DDL操作以及数据库事件等. 一.触发器的作用 O ...
- oracle触发器报错语法,oracle触发器
oracle触发器 系统默认用户 浏览 4438 oracle触发器怎么写? 通过编写数据库触发器,在HR数据库上实现下面的业务规则:1.如果某工种的最低工资进行上涨,则相应的员工的工资应自动增长.. ...
- oracle创建主键sql语句,Oracle创建主键自增表(sql语句实现)及触发器应用
Oracle创建主键自增表(sql语句实现)及触发器应用 1.创建表 复制代码 代码如下: createtableTest_Increase( useridnumber(10)NOTNULLprima ...
- oracle触发器if多条件,oracle触发器使用总结
触发器 是特定事件出现的时候,自动执行的代码块.类似于存储过程,但是用户不能直接调用他们.触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处 ...
- oracle中触发器作用,详细解析Oracle数据库触发器的功能种类及其作用
触发器是一种特殊类型的存储过程,它不同于存储过程.触发器主要是通过事件进行触发而被执行的,触发器的触发事件分可为3类,分别是DML事件.DDL事件和数据库事件,而存储过程可以通过存储过程名字而被直接调 ...
- Oracle使用触发器和mysql中使用触发器的比较
一.触发器 1.触发器在数据库里以独立的对象存储, 2.触发器不需要调用,它由一个事件来触发运行 3.触发器不能接收参数 --触发器的应用 举个例子:校内网.开心网.facebook,当你发一个日志, ...
- oracle触发器比较,Oracle使用触发器和mysql中使用触发器的比较
一.触发器 1.触发器在数据库里以独立的对象存储, 2.触发器不需要调用,它由一个事件来触发运行 3.触发器不能接收参数 --触发器的应用 举个例子:校内网.开心网.facebook,当你发一个日志, ...
最新文章
- 聊一聊Jmeter与多接口测试
- solr crud_Spring Data Solr教程:CRUD(差不多)
- c++ 标准异常类层次结构_Java入门教程十一(异常处理)
- Mybatis+Oracle批处理
- 一个拼凑sql,输出变量的 存储过程
- 出招挽留欧盟公民 英国政府推出“身份申请App”
- 7.11计划,做个没心没肺的人
- C++ Primer Plus 第六版课后习题答案(第五章)
- 打印日历Java代码实现
- 百科知识 kux文件如何打开
- c语言五子棋存盘,C语言 五子棋(初学者版).doc
- 【案例练习】17个华丽的UI效果的实现 ,激发你的创造灵感
- 数据分析基础篇---统计学基础
- 计算机组成原理笔记--流水线的扩展(1):数据前推与增加宽度
- 《再别康桥》(徐志摩)
- 计算机主机无反应,详解电脑开机没反应怎么办
- 小学阅读方法六种_小学写作手法六种
- [BUUCTF-pwn] qwb2018_opm
- 谈谈对“周日焦虑症”的看法
- ubuntu 18.04 配置opencv3.4.5+contrib