oracle触发器的语法详解
触发器是一种特殊的存储过程 下面是触发器的详细说明
ORACLE 触发器
ORACLE产生数据库触发器的语法为
create [or replace] trigger 触发器名 触发时间 触发事件
on 表名
[for each row]
pl/sql 语句
其中
触发器名 触发器对象的名称 由于触发器是数据库自动执行 的 因此该名称只是一个名称 没有实质的用途
触发时间 指明触发器何时执行 该值可取
before 表示在数据库动作之前触发器执行
after 表示在数据库动作之后出发器执行
触发事件 指明哪些数据库动作会触发此触发器
insert 数据库插入会触发此触发器
update 数据库修改会触发此触发器
delete 数据库删除会触发此触发器
表 名 数据库触发器所在的表
for each row 对表的每一行触发器执行一次 如果没有这一选项 则只对整个表执行一次
举例 下面的触发器在更新表auths之前触发 目的是不允许在周末修改表
create trigger auth_secure
before insert or update or delete file://对整表更新前触发
on auths
begin
if(to_char(sysdate DY )= SUN
RAISE_APPLICATION_ERROR( 不能在周末修改表auths );
( RAISE_APPLICATION_ERROR是函数 括弧内的 第一参数范围在 ~ 之间 第二个
参数是字符串 大小在 k 超过的话 系统自动截断)
end if;
lishixinzhi/Article/program/Oracle/201311/17609