<!--
$Header: /home/postgres/cvs_root/pgsql-r-v7.2/doc/src/sgml/ref/create_constraint.sgml,v 1.1.1.1 2002/02/07 17:50:36 bpalmer Exp $
PostgreSQL documentation
-->

<refentry id="SQL-CREATECONSTRAINT">
 <refmeta>
  <refentrytitle id="sql-createconstraint-title">
   CREATE CONSTRAINT TRIGGER
  </refentrytitle>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>
 <refnamediv>
  <refname>
   CREATE CONSTRAINT TRIGGER
  </refname>
  <refpurpose>
   define a new constraint trigger
  </refpurpose>
 </refnamediv>
 <refsynopsisdiv>
  <refsynopsisdivinfo>
   <date>2000-04-13</date>
  </refsynopsisdivinfo>
  <synopsis>
CREATE CONSTRAINT TRIGGER <replaceable class="parameter">name</replaceable>
    AFTER <replaceable class="parameter">events</replaceable> ON
    <replaceable class="parameter">relation</replaceable> <replaceable class="parameter">constraint</replaceable> <replaceable class="parameter">attributes</replaceable>
    FOR EACH ROW EXECUTE PROCEDURE <replaceable class="parameter">func</replaceable> '(' <replaceable class="parameter">args</replaceable> ')'
  </synopsis>

  <refsect2 id="R2-SQL-CREATECONSTRAINT-1">
   <title>
    Inputs
   </title>
   <para>
		
    <variablelist>
     <varlistentry>
      <term><replaceable class="PARAMETER">name</replaceable></term>
      <listitem>
       <para>
	The name of the constraint trigger.
       </para>
      </listitem>
     </varlistentry>

     <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">relation</replaceable></term>
      <listitem>
       <para>
	Table name of the triggering relation.
       </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>
	Constraint attributes.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><replaceable class="PARAMETER">func</replaceable>(<replaceable class="PARAMETER">args</replaceable>)</term>
      <listitem>
       <para>
	Function to call as part of the trigger processing.
       </para>
      </listitem>
     </varlistentry>
    </variablelist>
   </para>
  </refsect2>

  <refsect2 id="R2-SQL-CREATECONSTRAINT-2">
   <title>
    Outputs
   </title>
   <para>
    
    <variablelist>
     <varlistentry>
      <term><computeroutput>
CREATE CONSTRAINT
       </computeroutput></term>
      <listitem>
       <para>
	Message returned if successful.
       </para>
      </listitem>
     </varlistentry>
    </variablelist>
   </para>
  </refsect2>
 </refsynopsisdiv>

 <refsect1 id="R1-SQL-CREATECONSTRAINT-1">
  <title>
   Description
  </title>
  <para>
   <command>CREATE CONSTRAINT TRIGGER</command> is used from inside of 
   <command>CREATE/ALTER TABLE</command> and by
   <application>pg_dump</application>  to  create  the  special  triggers  for
   referential  integrity.
  </para>

  <para>
   It is not intended for general use.
  </para>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:"/usr/lib/sgml/catalog"
sgml-local-ecat-files:nil
End:
-->
