码迷,mamicode.com
首页 > 其他好文 > 详细

触发器

时间:2016-08-01 00:17:52      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

触发器

 

触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统里,触发器类似于过程和函数,都有声明,执行和异常处理的PL/SQL块。

 

1 触发器类型

触发器在数据库里以独立的对象存储,它与存储过程不同的是,存储过程通过其他程序来启动运行或者直接启动运行。而触发器是由一个事件来启动运行。即触发器是当某个事件发生时自动的隐式运行。并且触发器不能接受参数。所以运行触发器又叫触发或者点火。ORACLE时间指的是对数据库的表进行的INSERT,UPDATEDELETE操作或对视图类似的操作.ORACLE将触发器的功能扩展到了触发ORACLE,如数据库的启动和关闭等

 

 

DML 触发器

  ORACLE可以在DML语句进行触发,可以再DML操作前和操作后进行触发,并且可以对每个行或语句操作上进行触发

 

替代触发器

  由于在ORACLE里,不能直接对由两个以上的表建立的视图进行操作。所以给出了替代触发器。

 

系统触发器

  它可以在ORACLE数据库系统的事件中进行触发,如ORACLE系统的打开和关闭等

 

 

触发器组成

 触发事件:即在何种情况下触发TRIGGER,例如INSERT UPDATE DELETE

 触发时间:在触发事件前还是在触发事件后发生

触发器本身:触发器本身

触发频率  语句级或者行级(for each row 没有加就是语句级)

 

2

举例

1   Create or replace trigger salary_trg_rai
2   After insert on salary
3   For each row
4 declare
5   Begin
6     Dbms_output.put_line(‘员工ID:’ || :new.employee_id);
7     Dbms_output.put_line(‘工资月份:’ || :new.month);
8     Dbms_output.put_line(‘工资:’ || :new.amount);
9     Dbms_output.put_line(‘触发器已被执行’);
10   End;

 

触发器

标签:

原文地址:http://www.cnblogs.com/HJL085/p/5724292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!