Update to CREATE CONSTRAINT manual page.

Michael Glaesemann
This commit is contained in:
Bruce Momjian 2006-10-16 19:30:09 +00:00
parent c2e7da1f62
commit 52831f7911
1 changed files with 94 additions and 67 deletions

View File

@ -1,5 +1,5 @@
<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/create_constraint.sgml,v 1.14 2006/09/16 00:30:17 momjian Exp $
$PostgreSQL: pgsql/doc/src/sgml/ref/create_constraint.sgml,v 1.15 2006/10/16 19:30:09 momjian Exp $
PostgreSQL documentation
-->
@ -21,9 +21,12 @@ PostgreSQL documentation
<refsynopsisdiv>
<synopsis>
CREATE CONSTRAINT TRIGGER <replaceable class="parameter">name</replaceable>
AFTER <replaceable class="parameter">events</replaceable> ON
<replaceable class="parameter">tablename</replaceable> <replaceable class="parameter">constraint</replaceable> <replaceable class="parameter">attributes</replaceable>
FOR EACH ROW EXECUTE PROCEDURE <replaceable class="parameter">funcname</replaceable> ( <replaceable class="parameter">args</replaceable> )
AFTER <replaceable class="parameter">event [ OR ... ]</replaceable>
ON <replaceable class="parameter">table_name</replaceable>
[ FROM <replaceable class="parameter">referenced_table_name</replaceable> ]
{ NOT DEFERRABLE | [ DEFERABBLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } }
FOR EACH ROW
EXECUTE PROCEDURE <replaceable class="parameter">funcname</replaceable> ( <replaceable class="parameter">arguments</replaceable> )
</synopsis>
</refsynopsisdiv>
@ -33,70 +36,94 @@ CREATE CONSTRAINT TRIGGER <replaceable class="parameter">name</replaceable>
<para>
<command>CREATE CONSTRAINT TRIGGER</command> is used within
<command>CREATE TABLE</command>/<command>ALTER TABLE</command> and by
<application>pg_dump</application> to create the special triggers for
referential integrity.
It is not intended for general use.
<application>pg_dump</application> to create the special triggers for
referential integrity.
It is not intended for general use.
</para>
</refsect1>
<refsect1>
<title>Parameters</title>
<variablelist>
<varlistentry>
<term><replaceable class="PARAMETER">name</replaceable></term>
<listitem>
<para>
The name of the constraint trigger. The actual name of the
created trigger will be of the form
<literal>RI_ConstraintTrigger_0000<literal> (where 0000 is some number
assigned by the server).
Use this assigned name is when dropping the constraint.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">events</replaceable></term>
<listitem>
<para>
One of <literal>INSERT</literal>, <literal>UPDATE</literal>, or
<literal>DELETE</literal>; this specifies the event that will fire the
trigger. Multiple events can be specified using <literal>OR<literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">table_name</replaceable></term>
<listitem>
<para>
The (possibly schema-qualified) name of the table in which
the triggering events occur.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">referenced_table_name</replaceable></term>
<listitem>
<para>
The (possibly schema-qualified) name of the table referenced by the
constraint. Used by foreign key constraints triggers.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>DEFERRABLE</literal></term>
<term><literal>NOT DEFERRABLE</literal></term>
<term><literal>INITIALLY IMMEDIATE</literal></term>
<term><literal>INITIALLY DEFERRED</literal></term>
<listitem>
<para>
See the <xref linkend="SQL-CREATETABLE" endterm="SQL-CREATETABLE-TITLE">
documentation for details of these constraint options.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">funcname</replaceable>(<replaceable class="PARAMETER">args</replaceable>)</term>
<listitem>
<para>
The function to call as part of the trigger processing. See <xref
linkend="SQL-CREATETRIGGER" endterm="SQL-CREATETRIGGER-TITLE"> for
details.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Compatibility</title>
<para>
<command>CREATE CONTRAINT TRIGGER</command> is a
<productname>PostgreSQL</productname> extension of the <acronym>SQL</>
standard.
</para>
</refsect1>
<refsect1>
<title>Parameters</title>
<variablelist>
<varlistentry>
<term><replaceable class="PARAMETER">name</replaceable></term>
<listitem>
<para>
The name of the constraint trigger.
</para>
</listitem>
</varlistentry>
</refentry>
<varlistentry>
<term><replaceable class="PARAMETER">events</replaceable></term>
<listitem>
<para>
The event categories for which this trigger should be fired.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">tablename</replaceable></term>
<listitem>
<para>
The name (possibly schema-qualified) of the table in which
the triggering events occur.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">constraint</replaceable></term>
<listitem>
<para>
Actual constraint specification.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">attributes</replaceable></term>
<listitem>
<para>
The constraint attributes.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER">funcname</replaceable>(<replaceable class="PARAMETER">args</replaceable>)</term>
<listitem>
<para>
The function to call as part of the trigger processing.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
</refentry>