标签:
触发器在数据库里以独立的对象存储,它与存储过程不同的是,存储过程通过其它程序来启动运行,而触发器是由一个事件来启动运行。
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‘)
查看触发器是否被执行
标签:
原文地址:http://my.oschina.net/u/2312022/blog/490823