一 什么是触发器
每当一个特定的数据操作语句(insert、update、delete)在指定的表上发出时,Oracle自动地执行触发器中定义的语句序列。
二 触发器的应用场景
1、复杂的安全性检查
2、数据的确认
3、数据库审计——基于值得审计
4、数据的备份和同步
三 触发器的语法
CREATE [or REPLACE] TRIGGER 触发器名
{BEFORE|AFTER}
{DELETE|INSERT|UPDATE}
ON 表名
[FOR EACH ROW[WHEN(条件)]]
PLsql块
四 触发器的类型
1、语句级触发器:在指定的操作语句操作前或操作后
执行一次,不管这条语句影响了多少行。针对的是表。
2、行级触发器:触发语句作用的
每一条记录都被触发。在行级触发器中使用:old和:new伪记录变量,识别值得状态。针对的是行。
有
[FOR EACH ROW[WHEN(条件),就是行级触发器,否则就是语句级触发器。
五 第一个触发器
1、需求
每当插入新员工后,自动打印“成功插入新员工”。
2、代码
create or replace trigger saynewemp
after insert
on emp
declare
begin
dbms_output.put_line('成功插入新员工');
end;
3、验证