SQL创建触发器的通用语法



创建触发器的通用语法如下所示:


CREATE [OR REPLACE] TRIGGER Trigger_name
{BEFORE |AFTER} Triggering_event ON table_name
[FOR EACH ROW]
[FOLLOWS another_trigger]
[ENABLE/DISABLE]
[WHEN condition]
DECLARE
     declaration statements
BEGIN
     executable statements
EXCEPTION
     exception-handling statements
END;

其中,trigger_name是触发器的名称。BEFORE或者AFTER指明触发器何时执行,即在触发事件发生之前,还是之后,trigger_event是针对数据库表的DML语句。table_name是与该触发器相关的数据库表的名称。子句FOR EACH ROW指行触发器。FOLLOWS选项,指定触发器被触发的顺序。这个选项适用于在相同表上所定义的,并且会在相同时间点执行的触发器。ENABLE和DISABLE子句指定触发器是在启用,还是禁用状态下被创建的。默认情况下是启用的。

禁用或启用触发器,可用以下命令:ALTER TRIGGER trigger_name DISABLE/ENABLE;

禁用某个表上的所有触发器,可用如下命令:ALTER TABLE table_name DISABLE ALL TRIGGERS.

触发器按照不同的分法,有不同的分类,主要有以下两种:

按触发的时间可分为:BEFORE触发器和AFTER触发器

按触发的类型可分为:行触发器,语句触发器和INSTEAD OF触发器

下面,我们结合具体的实例来演示不同的触发器。

你可能感兴趣的:(SQL,触发器)