©
本文档使用
php.cn手册 发布
CREATE CONSTRAINT TRIGGER name AFTER event [ OR ... ] ON table_name [ FROM referenced_table_name ] { NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } } FOR EACH ROW [ WHEN ( condition ) ] EXECUTE PROCEDURE function_name ( arguments )
CREATE CONSTRAINT TRIGGER创建constraint trigger。 这同样是作为常规的触发器,除了触发发射的定时是可以通过使用 SET CONSTRAINTS调整的。约束触发器必须是AFTER ROW触发器。 这些触发器要么在语句末触发来引起触发事件,要么在包含事务结束时触发;对于后者会被成为 递延。一个挂起的递延触发器触发可以通过SET CONSTRAINTS命令 强制迅速发生。
约束触发器的名称。这也是通过SET CONSTRAINTS调整触发器的行为 时要使用的名称。该名称不能有模式修饰—触发器继承了表的模式。
触发该触发器的事件。是INSERT,UPDATE或 DELETE之一,可以使用OR指定多个值。
发生触发器事件的表名称(可能有模式修饰)
被约束引用的另一个表的名称(可能有模式修饰)。此选项用于外键约束和通常不建议使用。
触发器的缺省时序。参见CREATE TABLE文档以获取这些约束选项的细节。
决定触发函数是否会真正被执行的布尔表达式。这与CREATE TRIGGER 中表现得相同。特别注意:WHEN条件的评估不会推迟,但是会在行 更新操作完成后迅速发生。如果条件不估计true那么触发器不会为 延迟执行排队。
函数在触发器被触发时被调用。参阅CREATE TRIGGER获取更多 详细的信息。
传递给触发函数的可选参数字符串。参阅CREATE TRIGGER 获取更多详细信息。
CREATE CONSTRAINT TRIGGER是PostgreSQL 在SQL标准基础上的扩展。