解密Oracle触发器:精要记录(oracle触发器类型)
Oracle触发器是数据库的一种重要特性,它可以为用户提供触发某种活动的功能。它可以在数据表上插入,删除或更新时自动触发一些语句,而用户无需关心。触发器的结构概述如下:
create trigger 触发器名
标记
[级别]
On 操作表名
{
For | After | Instead Of
}
范围
[Between]
{
insert|update|delete
}
[referencing [old as] 标签]
[not] for each row
[when 条件]
BEGIN
–触发语句部分
END;
1. create trigger stirng命令用来创建触发器,标记,级别是可选的。
2. On 后面的操作表名是必需的, 后面跟着一些标志,用来指定触发器触发的时机,表达式可以用FOR循环,AFTER或 INSTEAD OF 来定义;
3. 范围后面指定了可以触发触发器的操作,INSERT,UPDATE 或者DELETE.
4. referencing 指定了一些旧的数据变量,类似于存储过程的IN OUT参数。
5. when 条件是触发器里的一个关键字,用来控制触发的条件。
6. END 语句很重要,它表明触发器里要做什么,开始和结束都需要这个关键字。
以下是一个关于Oracle触发器的示例:
CREATE TRIGGER T_EMPLOYEES_BONUS
AFTER INSERT ON EMPLOYEES
FOR EACH ROW
BEGIN
insert into EMP_BONUS select EMP_ID, BONUS, CURRENT_DATE
from EMPLOYEES WHERE EMP_ID = :NEW.EMP_ID;
END;
上述示例新增了一个员工记录时,触发器之后立即自动执行INSERT操作,并将员工的ID和bonus插入到EMP_BONUS表中。
总而言之,Oracle触发器的精要记录是:Oracle触发器允许用户设置数据表在发生插入,更新或删除操作时自动被触发,而用户可以在触发器中指定用以执行的一些动作。其他各个关键字用于指定触发器的一些选项和行为,并定义触发器要执行的语句。