PostgreSQL 8.3.1 Documentation
Prev | Fast Backward |  | Fast Forward | Next

# CREATE CONSTRAINT TRIGGER

## 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. 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 documentation for details of these constraint options.

`funcname`

  The function to call when the trigger is fired. See CREATE TRIGGER for details.

`arguments`

  Optional argument strings to pass to the trigger function. See CREATE TRIGGER for details.

## Compatibility

`CREATE CONSTRAINT TRIGGER` is a PostgreSQL extension of the SQL standard.

## See Also

CREATE TRIGGER, DROP TRIGGER, SET CONSTRAINTS

Prev | Home | Next
CREATE CAST | Up | CREATE CONVERSION