触发器是一种特殊的存储过程下面是触发器的详细说明
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(sysdateDY)=SUN
RAISE_APPLICATION_ERROR(不能在周末修改表auths);
( RAISE_APPLICATION_ERROR是函数括弧内的第一参数范围在~之间第二个
参数是字符串大小在k超过的话系统自动截断)
end if;
end