码迷,mamicode.com
首页 > 数据库 > 详细

Oracle --触发器

时间:2015-08-11 19:32:03      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

触发器在数据库里以独立的对象存储,它与存储过程不同的是,存储过程通过其它程序来启动运行,而触发器是由一个事件来启动运行。

1. 触发器特性

1>触发器是当某个事件发生时自动的运行。

2>触发器不能接收参数。

3>oracle事件指的是对数据库表进行的insert、update、delete等操作。

2. 触发器组成

2.1 触发事件:引起触发器被触发的事件。例如:insert、update、delete等语句对表或视图的操作。

2.2 触发时间:即该trigger是在触发事件发生之前还是之后触发。

2.3 触发操作:即该trigger被触发之后的目的和意图,就是触发器本身要做的事情。

2.4 触发对象:包括表、视图、模式、数据库等,只有在这些对象上发生了符合触发条件的触发事件,才会执行触发操作。

2.5 触发条件:由when子句指定一个逻辑表达式,只有当该表达式的值为true时,遇到触发事件才会自动执行触发器,使其执行触发操作。

2.6 触发频率:说明触发器内定义的动作被执行的次数。即语句级触发器(statement)和行级(row)触发器。

语句级触发器:当某触发事件发生时,该触发器只执行一次。

行级触发器:当某触发事件发生时,对受到该操作影响的每一行数据,触发器都单独执行一次。

3. 创建触发器实例

create or replace trigger demo
  before insert on t_user  
  
declare
  -- local variables here
begin

  dbms_output.put_line(‘该触发器已被执行!‘);
  
end demo;

向t_user表中添加数据

insert into t_user
  (user_id, user_name, gender, age, telephone)
values
  (5, ‘王老吉‘, ‘0‘, 10, ‘13269368569‘)

查看触发器是否被执行

技术分享





Oracle --触发器

标签:

原文地址:http://my.oschina.net/u/2312022/blog/490823

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