当前位置:Gxlcms > 数据库问题 > Oracle --触发器

Oracle --触发器

时间:2021-07-01 10:21:17 帮助过:3人阅读

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

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 --触发器

标签:

人气教程排行