sql触发器有几种语法:数据库系统工程师
sql触发器有几种语法:数据库系统工程师before:指示DBMS在执行触发语句之前激发触发器end【when 触发条件】begin【触发条件】
触发器的特点- 当数据库程序员声明事件发生时,触发器被激活。
- 当触发器被事件激活时,不是立即执行,而是首先由触发器测试触发条件,若条件不成立,响应该事件的触发器什么都不做。
- 如果触发器声明的条件满足,则该触发器相连的动作由DBMS执行。动作可以阻止或撤销事件
- 行级触发器:对被事件影响的每一行(for each row)
- 语句级触发器:对整个事件只执行一次触发过程(for each statement)
格式:create trigger 触发器名 【before|after】
{【delete | insert | updateof】列名清单}
on 表名
【referencing 临时视图名】
【when 触发条件】
begin
【触发条件】
end
before:指示DBMS在执行触发语句之前激发触发器
after:指示DBMS在执行触发语句之后激发触发器
delete:指明是delete触发器,每删除一行激发触发器
update:指明是update触发器,每update语句修改有of字句指定的列值时,激发触发器。如 忽略of字句,只要修改都激发
insert:指明是insert触发器,每insert一行激发触发器
referencing 临时视图名:指定临时视图的别名。
对于行级触发器,默认临时视图名分别是OLD和new;
对于语句级触发器,默认临时视图名分布式old-table和new-table
when 触发条件:指定触发器的触发条件。触发条件必须包含临时视图名,不含查询。
触发器的删除drop trigger 触发器名
触发器的更改alter 关键字代替create