table of contents
CREATE CONSTRAINT TRIGGER(7) | SQL Commands | CREATE CONSTRAINT TRIGGER(7) |
NAME¶
CREATE CONSTRAINT TRIGGER - define a new constraint trigger
SYNOPSIS¶
CREATE CONSTRAINT TRIGGER name
AFTER event [ OR ... ]
ON table_name
[ FROM referenced_table_name ]
{ NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } }
FOR EACH ROW
EXECUTE PROCEDURE funcname ( arguments )
DESCRIPTION¶
CREATE CONSTRAINT TRIGGER creates a constraint trigger. This is the same as a regular trigger except that the timing of the trigger firing can be adjusted using SET CONSTRAINTS [set_constraints(7)]. Constraint triggers must be AFTER ROW triggers. They can be fired either at the end of the statement causing the triggering event, or at the end of the containing transaction; in the latter case they are said to be deferred. A pending deferred-trigger firing can also be forced to happen immediately by using SET CONSTRAINTS.
PARAMETERS¶
- name
- The name of the constraint trigger. This is also the name to use when modifying the trigger's behavior using SET CONSTRAINTS. The name cannot be schema-qualified — the trigger inherits the schema of its table.
- event
- One of INSERT, UPDATE, or DELETE; this specifies the event that will fire the trigger. Multiple events can be specified using OR.
- table_name
- The (possibly schema-qualified) name of the table in which the triggering events occur.
- referenced_table_name
- The (possibly schema-qualified) name of another table referenced by the constraint. This option is used for foreign-key constraints and is not recommended for general use.
- DEFERRABLE
- NOT DEFERRABLE
- INITIALLY IMMEDIATE
- INITIALLY DEFERRED
- The default timing of the trigger. See the CREATE TABLE [create_table(7)] documentation for details of these constraint options.
- funcname
- The function to call when the trigger is fired. See CREATE TRIGGER [create_trigger(7)] for details.
- arguments
- Optional argument strings to pass to the trigger function. See CREATE TRIGGER [create_trigger(7)] for details.
COMPATIBILITY¶
CREATE CONSTRAINT TRIGGER is a PostgreSQL extension of the SQL standard.
SEE ALSO¶
CREATE TRIGGER [create_trigger(7)], DROP TRIGGER [drop_trigger(7)], SET CONSTRAINTS [set_constraints(7)]
2014-02-17 | SQL - Language Statements |