?
このドキュメントでは、 php中國語ネットマニュアル リリース
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創(chuàng)建constraint trigger。 這同樣是作為常規(guī)的觸發(fā)器,除了觸發(fā)發(fā)射的定時(shí)是可以通過使用 SET CONSTRAINTS調(diào)整的。約束觸發(fā)器必須是AFTER ROW觸發(fā)器。 這些觸發(fā)器要么在語句末觸發(fā)來引起觸發(fā)事件,要么在包含事務(wù)結(jié)束時(shí)觸發(fā);對(duì)于后者會(huì)被成為 遞延。一個(gè)掛起的遞延觸發(fā)器觸發(fā)可以通過SET CONSTRAINTS命令 強(qiáng)制迅速發(fā)生。
約束觸發(fā)器的名稱。這也是通過SET CONSTRAINTS調(diào)整觸發(fā)器的行為 時(shí)要使用的名稱。該名稱不能有模式修飾—觸發(fā)器繼承了表的模式。
觸發(fā)該觸發(fā)器的事件。是INSERT,UPDATE或 DELETE之一,可以使用OR指定多個(gè)值。
發(fā)生觸發(fā)器事件的表名稱(可能有模式修飾)
被約束引用的另一個(gè)表的名稱(可能有模式修飾)。此選項(xiàng)用于外鍵約束和通常不建議使用。
觸發(fā)器的缺省時(shí)序。參見CREATE TABLE文檔以獲取這些約束選項(xiàng)的細(xì)節(jié)。
決定觸發(fā)函數(shù)是否會(huì)真正被執(zhí)行的布爾表達(dá)式。這與CREATE TRIGGER 中表現(xiàn)得相同。特別注意:WHEN條件的評(píng)估不會(huì)推遲,但是會(huì)在行 更新操作完成后迅速發(fā)生。如果條件不估計(jì)true那么觸發(fā)器不會(huì)為 延遲執(zhí)行排隊(duì)。
函數(shù)在觸發(fā)器被觸發(fā)時(shí)被調(diào)用。參閱CREATE TRIGGER獲取更多 詳細(xì)的信息。
傳遞給觸發(fā)函數(shù)的可選參數(shù)字符串。參閱CREATE TRIGGER 獲取更多詳細(xì)信息。
CREATE CONSTRAINT TRIGGER是PostgreSQL 在SQL標(biāo)準(zhǔn)基礎(chǔ)上的擴(kuò)展。