1、触发器的概述
触发器是当特定事件出现时自动执行的存储过程,特定事件可以是执行更新的DML语句和DDL语句;触发器不能被显式调用,只有当触发条件成立时,触发器才会被触发。
-
触发器的功能:
- 自动生成数据
自定义复杂的安全权限(完整性约束)
提供审计和日志记录 (记录日志信息到所规定的表)
启用复杂的业务逻辑
- 自动生成数据
- 触发事件:
insert update delete create alter drop logon logoff startup startdown - 触发级别:
行触发、对触发事件影响的每一行都执行一次触发器,
语句触发、触发事件只触发一次,不能访问受触发器影响的每一行的值,即无论这条sql语句影响多少条记录,触发器都触发一次。 - 触发事件:
before 在指定事件发生之前执行触发器
after 在指定事件发生之后执行触发器 - 禁止使用:
在触发器中禁止使用rollback、 commit、savepoint、create 、drop、alter
2、创建触发器的语法
CREATE [OR REPLACE] TRIGGER trigger_name
AFTER | BEFORE | INSTEAD OF
[INSERT] [[OR] UPDATE [OF column_list]] -- 触发器引起动作
[[OR] DELETE]
ON table_or_view_name