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触发器类型相关推荐

  1. oracle触发器记录所有dml,Oracle DML类型触发器

    Oracle DML类型触发器 Oracle DML类型触发器是Oracle开发过程当中最经常用到,也是最常见的触发器,主要是对DML操作,如:insert.delete.update操作事件进行触发 ...

  2. 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. ...

  3. ORACLE PL/SQL编程之八:把触发器说透

    ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之八: 把触发器说透 大家一定要评论呀,感谢!光发表就花了我将近一个下午. 本篇主要内容如下: 8.1 触发器类型 8. ...

  4. oracle触发器报错语法,Oracle 触发器

    Oracle触发器是使用者对Oracle数据库的对象做特定的操作时,触发的一段PL/SQL程序代码,叫做触发器.触发的事件包括对表的DML操作,用户的DDL操作以及数据库事件等. 一.触发器的作用 O ...

  5. oracle触发器报错语法,oracle触发器

    oracle触发器 系统默认用户 浏览 4438 oracle触发器怎么写? 通过编写数据库触发器,在HR数据库上实现下面的业务规则:1.如果某工种的最低工资进行上涨,则相应的员工的工资应自动增长.. ...

  6. oracle创建主键sql语句,Oracle创建主键自增表(sql语句实现)及触发器应用

    Oracle创建主键自增表(sql语句实现)及触发器应用 1.创建表 复制代码 代码如下: createtableTest_Increase( useridnumber(10)NOTNULLprima ...

  7. oracle触发器if多条件,oracle触发器使用总结

    触发器 是特定事件出现的时候,自动执行的代码块.类似于存储过程,但是用户不能直接调用他们.触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处 ...

  8. oracle中触发器作用,详细解析Oracle数据库触发器的功能种类及其作用

    触发器是一种特殊类型的存储过程,它不同于存储过程.触发器主要是通过事件进行触发而被执行的,触发器的触发事件分可为3类,分别是DML事件.DDL事件和数据库事件,而存储过程可以通过存储过程名字而被直接调 ...

  9. Oracle使用触发器和mysql中使用触发器的比较

    一.触发器 1.触发器在数据库里以独立的对象存储, 2.触发器不需要调用,它由一个事件来触发运行 3.触发器不能接收参数 --触发器的应用 举个例子:校内网.开心网.facebook,当你发一个日志, ...

  10. oracle触发器比较,Oracle使用触发器和mysql中使用触发器的比较

    一.触发器 1.触发器在数据库里以独立的对象存储, 2.触发器不需要调用,它由一个事件来触发运行 3.触发器不能接收参数 --触发器的应用 举个例子:校内网.开心网.facebook,当你发一个日志, ...

最新文章

  1. 聊一聊Jmeter与多接口测试
  2. solr crud_Spring Data Solr教程:CRUD(差不多)
  3. c++ 标准异常类层次结构_Java入门教程十一(异常处理)
  4. Mybatis+Oracle批处理
  5. 一个拼凑sql,输出变量的 存储过程
  6. 出招挽留欧盟公民 英国政府推出“身份申请App”
  7. 7.11计划,做个没心没肺的人
  8. C++ Primer Plus 第六版课后习题答案(第五章)
  9. 打印日历Java代码实现
  10. 百科知识 kux文件如何打开
  11. c语言五子棋存盘,C语言 五子棋(初学者版).doc
  12. 【案例练习】17个华丽的UI效果的实现 ,激发你的创造灵感
  13. 数据分析基础篇---统计学基础
  14. 计算机组成原理笔记--流水线的扩展(1):数据前推与增加宽度
  15. 《再别康桥》(徐志摩)
  16. 计算机主机无反应,详解电脑开机没反应怎么办
  17. 小学阅读方法六种_小学写作手法六种
  18. [BUUCTF-pwn] qwb2018_opm
  19. 谈谈对“周日焦虑症”的看法
  20. ubuntu 18.04 配置opencv3.4.5+contrib

热门文章

  1. 纯6位数字验证码(图片)
  2. 分省份邮电业务总量统计(亿元)2011-2019
  3. 关于--七淅在学Java--SELECT LAST_INSERT_ID() 的使用和注意事项 探究
  4. 机房收费软件需求说明书
  5. Springboot毕业设计毕设作品,农产品销售系统设计与实现
  6. PVC 塑料片BS 476-6 火焰传播性能测定
  7. 上海科目二考试-浦东沪南考场的心得总结
  8. 上海西门子培训-第四天(周三)
  9. 2021章节练习基础(案例精选)1-10
  10. 【离散数学期复习系列】二、一阶逻辑(谓词逻辑)