触发器(trigger): 是根据数据的机制来触发的行为, 不能主动执行, 也不能接收参数
触发器语法
create or replace trigger `触发器名称`
{before|after} trgger_event
on `表名`
{for each row}
{when trigger_condition}
trigger_body
代码解释:
{before|after}
: 指定触发器是在触发事件之前触发还是发生之后触发trigger_event
: 触发事件 在DML触发器中主要是 insert(增) delete(删) update(改)for each row
: 指定创建的是行级触发器, 如果没有则是语句级触发器when trigger_condition
: 添加触发的条件trigger_body
: 标准的PL/SQL语句块
抛出异常语法
-- 抛出异常(编号范围:20000~-20999,话术自定义)
raise_application_error(-20001,'工资不能低于原来的工资')
触发器的执行次序
- 执行before的语句级触发器
- 执行before的行级触发器
- 执行DML sql语句
- 执行after的语句级触发器
- 执行after的行级触发器