CREATE CONSTRAINT TRIGGER nom AFTER événement [ OR ... ] ON table [ FROM table_référencée ] { NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } } FOR EACH ROW EXECUTE PROCEDURE fonction ( arguments )
CREATE CONSTRAINT TRIGGER crée un trigger de contrainte. C'est identique à un trigger standard sauf que le moment de l'exécution du trigger est ajustable en utilisant SET CONSTRAINTS. Les triggers de contraintes doivent être des triggers AFTER ROW. Ils peuvent être déclenchés soit à la fin de l'instruction l'ayant déclenché soit à la fin de la transaction le contenant ; dans ce dernier cas, ils sont dit déferrés (deferred). Le déclenchement d'un tigger déferré en attente peut voir son exécution forcée en utilisant SET CONSTRAINTS.
Le nom du trigger de contrainte. C'est aussi le nom à utiliser pour modifier le comportement du trigger en utilisant SET CONSTRAINTS. Le nom ne peut pas être qualifié du schéma -- le trigger hérite du schéma de sa table.
Une valeur parmi INSERT, UPDATE ou DELETE ; ceci indique l'événement qui sera la cause de l'exécution du déclencheur. Plusieurs événements peuvent être indiqués en utilisant le mot clé OR.
Le nom (éventuellement qualifié du nom du schéma) de la table dans laquelle se déroulent les événements déclenchant.
Le nom d'une autre table (parfois qualifié du nom du schéma) référencée par la contrainte. Cette option est utilisée pour les contraintes de type clé étrangère et n'est pas recommandée pour un usage général.
Le moment d'exécution par défaut du trigger. Voir la documentation de CREATE TABLE pour les détails sur ces options de contraintes.
La fonction à appeler quand le trigger est déclenché. Voir CREATE TRIGGER pour les détails.
Chaînes optionnelles d'argument à passer à la fonction trigger. Voir CREATE TRIGGER pour plus de détails.