summaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/create_trigger.sgml
diff options
context:
space:
mode:
authorThomas G. Lockhart <lockhart@fourpalms.org>1999-07-06 17:16:42 +0000
committerThomas G. Lockhart <lockhart@fourpalms.org>1999-07-06 17:16:42 +0000
commita4ac2f458e8cb76177254f4bd7bbd885991379af (patch)
tree278de40d122f67db3a6694319b0d3b6880eba752 /doc/src/sgml/ref/create_trigger.sgml
parent192a66e3dad33ff8aa446c4c053f0b01498549f5 (diff)
Fix markup for docbook2man man page generation.
No big deal; fixed lots of other markup at the same time. Bigest change: make sure there is no whitespace in front of <term> contents. This will probably help the other output types too.
Diffstat (limited to 'doc/src/sgml/ref/create_trigger.sgml')
-rw-r--r--doc/src/sgml/ref/create_trigger.sgml321
1 files changed, 159 insertions, 162 deletions
diff --git a/doc/src/sgml/ref/create_trigger.sgml b/doc/src/sgml/ref/create_trigger.sgml
index c9e241b6f9b..32952a29ce6 100644
--- a/doc/src/sgml/ref/create_trigger.sgml
+++ b/doc/src/sgml/ref/create_trigger.sgml
@@ -1,120 +1,113 @@
-<REFENTRY ID="SQL-CREATETRIGGER">
- <REFMETA>
- <REFENTRYTITLE>
+<refentry id="SQL-CREATETRIGGER">
+ <refmeta>
+ <refentrytitle>
CREATE TRIGGER
- </REFENTRYTITLE>
- <REFMISCINFO>SQL - Language Statements</REFMISCINFO>
- </REFMETA>
- <REFNAMEDIV>
- <REFNAME>
+ </refentrytitle>
+ <refmiscinfo>SQL - Language Statements</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>
CREATE TRIGGER
- </REFNAME>
- <REFPURPOSE>
+ </refname>
+ <refpurpose>
Creates a new trigger
- </REFPURPOSE>
+ </refpurpose>
</refnamediv>
- <REFSYNOPSISDIV>
- <REFSYNOPSISDIVINFO>
- <DATE>1998-09-21</DATE>
- </REFSYNOPSISDIVINFO>
- <SYNOPSIS>
-CREATE TRIGGER <REPLACEABLE CLASS="PARAMETER">name</REPLACEABLE> { BEFORE | AFTER }
- { <REPLACEABLE CLASS="PARAMETER">event</REPLACEABLE> [OR ...] }
- ON <REPLACEABLE CLASS="PARAMETER">table</REPLACEABLE> FOR EACH { ROW | STATEMENT }
- EXECUTE PROCEDURE <REPLACEABLE CLASS="PARAMETER">funcname</REPLACEABLE> ( <REPLACEABLE CLASS="PARAMETER">arguments</REPLACEABLE> )
- </SYNOPSIS>
+ <refsynopsisdiv>
+ <refsynopsisdivinfo>
+ <date>1998-09-21</date>
+ </refsynopsisdivinfo>
+ <synopsis>
+CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTER } { <replaceable class="PARAMETER">event</replaceable> [OR ...] }
+ ON <replaceable class="PARAMETER">table</replaceable> FOR EACH { ROW | STATEMENT }
+ EXECUTE PROCEDURE <replaceable class="PARAMETER">ER">func</replaceable>BLE> ( <replaceable class="PARAMETER">arguments</replaceable> )
+ </synopsis>
- <REFSECT2 ID="R2-SQL-CREATETRIGGER-1">
- <REFSECT2INFO>
- <DATE>1998-09-21</DATE>
- </REFSECT2INFO>
- <TITLE>
+ <refsect2 id="R2-SQL-CREATETRIGGER-1">
+ <refsect2info>
+ <date>1998-09-21</date>
+ </refsect2info>
+ <title>
Inputs
- </TITLE>
- <PARA>
- </PARA>
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- <ReturnValue><replaceable class="parameter">name</replaceable></ReturnValue>
- </TERM>
- <LISTITEM>
- <PARA>
- The name of an existing trigger.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
- <VARLISTENTRY>
- <TERM>
- <ReturnValue><replaceable class="parameter">table</replaceable></ReturnValue>
- </TERM>
- <LISTITEM>
- <PARA>
- The name of a table.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
- <VARLISTENTRY>
- <TERM>
- <ReturnValue><replaceable class="parameter">event</replaceable></ReturnValue>
- </TERM>
- <LISTITEM>
- <PARA>
- One of INSERT, DELETE or UPDATE.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
- <VARLISTENTRY>
- <TERM>
- <ReturnValue><replaceable class="parameter">funcname</replaceable></ReturnValue>
- </TERM>
- <LISTITEM>
- <PARA>
- A user-supplied function.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
- </variablelist>
- </REFSECT2>
-
- <REFSECT2 ID="R2-SQL-CREATETRIGGER-2">
- <REFSECT2INFO>
- <DATE>1998-09-21</DATE>
- </REFSECT2INFO>
- <TITLE>
+ </title>
+ <para>
+
+ <variablelist>
+ <varlistentry>
+ <term><replaceable class="parameter">name</replaceable></term>
+ <listitem>
+ <para>
+ The name of an existing trigger.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><replaceable class="parameter">table</replaceable></term>
+ <listitem>
+ <para>
+ The name of a table.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><replaceable class="parameter">event</replaceable></term>
+ <listitem>
+ <para>
+ One of INSERT, DELETE or UPDATE.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><replaceable class="parameter">funcname</replaceable></term>
+ <listitem>
+ <para>
+ A user-supplied function.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </refsect2>
+
+ <refsect2 id="R2-SQL-CREATETRIGGER-2">
+ <refsect2info>
+ <date>1998-09-21</date>
+ </refsect2info>
+ <title>
Outputs
- </TITLE>
- <PARA>
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- <ReturnValue>CREATE</ReturnValue>
- </TERM>
- <LISTITEM>
- <PARA>
- This message is returned if the trigger is successfully created.
+ </title>
+ <para>
+
+ <variablelist>
+ <varlistentry>
+ <term><computeroutput>
+CREATE
+ </computeroutput></term>
+ <listitem>
+ <para>
+ This message is returned if the trigger is successfully created.
</para>
</listitem>
</varlistentry>
- </VARIABLELIST>
+ </variablelist>
</para>
- </REFSECT2>
- </REFSYNOPSISDIV>
+ </refsect2>
+ </refsynopsisdiv>
- <REFSECT1 ID="R1-SQL-CREATETRIGGER-1">
- <REFSECT1INFO>
- <DATE>1998-09-21</DATE>
- </REFSECT1INFO>
- <TITLE>
+ <refsect1 id="R1-SQL-CREATETRIGGER-1">
+ <refsect1info>
+ <date>1998-09-21</date>
+ </refsect1info>
+ <title>
Description
- </TITLE>
- <PARA>
+ </title>
+ <para>
<command>CREATE TRIGGER</command> will enter a new trigger into the current
data base. The trigger will be associated with the relation
<replaceable class="parameter">relname</replaceable> and will execute
the specified function <replaceable class="parameter">funcname</replaceable>.
- </PARA>
- <PARA>
+ </para>
+ <para>
The trigger can be specified to fire either before the
operation is attempted on a tuple (before constraints
are checked and the INSERT, UPDATE or DELETE is attempted) or
@@ -125,102 +118,106 @@ CREATE TRIGGER <REPLACEABLE CLASS="PARAMETER">name</REPLACEABLE> { BEFORE | AFTE
being inserted (for INSERT and UPDATE operations only). If
the trigger fires after the event, all changes, including the
last insertion, update, or deletion, are "visible" to the trigger.
- </PARA>
- <PARA>
+ </para>
+ <para>
Refer to the chapters on SPI and Triggers in the
<citetitle>PostgreSQL Programmer's Guide</citetitle> for more
information.
- </PARA>
- <REFSECT2 ID="R2-SQL-CREATETRIGGER-3">
- <REFSECT2INFO>
- <DATE>1998-09-21</DATE>
- </REFSECT2INFO>
- <TITLE>
+ </para>
+ <refsect2 id="R2-SQL-CREATETRIGGER-3">
+ <refsect2info>
+ <date>1998-09-21</date>
+ </refsect2info>
+ <title>
Notes
- </TITLE>
- <PARA>
+ </title>
+ <para>
<command>CREATE TRIGGER</command> is a <productname>Postgres</productname>
language extension.
- </PARA>
- <PARA>
- Only the relation owner may create a trigger on this relation.
- </PARA>
- <PARA>
- As of the current release (v6.4), STATEMENT triggers are not implemented.
- </PARA>
- <PARA>
+ </para>
+ <para>
+ Only the relation owner may create a trigger on this relation.
+ </para>
+ <para>
+ As of the current release (v6.4), STATEMENT triggers are not implemented.
+ </para>
+ <para>
Refer to <command>DROP TRIGGER</command> for information on how to
remove triggers.
- </PARA>
- </REFSECT2>
+ </para>
+ </refsect2>
</refsect1>
- <REFSECT1 ID="R1-SQL-CREATETRIGGER-2">
- <TITLE>
+ <refsect1 id="R1-SQL-CREATETRIGGER-2">
+ <title>
Usage
- </TITLE>
- <PARA>
+ </title>
+ <para>
Check if the specified distributor code exists in the distributors
table before appending or updating a row in the table films:
- </PARA>
- <ProgramListing>
- CREATE TRIGGER if_dist_exists
- BEFORE INSERT OR UPDATE ON films FOR EACH ROW
- EXECUTE PROCEDURE check_primary_key ('did', 'distributors', 'did');
- </ProgramListing>
- <PARA>
+
+ <programlisting>
+CREATE TRIGGER if_dist_exists
+ BEFORE INSERT OR UPDATE ON films FOR EACH ROW
+ EXECUTE PROCEDURE check_primary_key ('did', 'distributors', 'did');
+ </programlisting>
+ </para>
+ <para>
Before cancelling a distributor or updating its code, remove every
reference to the table films:
- </PARA>
- <ProgramListing>
- CREATE TRIGGER if_film_exists
- BEFORE DELETE OR UPDATE ON distributors FOR EACH ROW
- EXECUTE PROCEDURE check_foreign_key (1, 'CASCADE', 'did', 'films', 'did');
- </ProgramListing>
- </REFSECT1>
-
- <REFSECT1 ID="R1-SQL-CREATETRIGGER-3">
- <TITLE>
+ <programlisting>
+CREATE TRIGGER if_film_exists
+ BEFORE DELETE OR UPDATE ON distributors FOR EACH ROW
+ EXECUTE PROCEDURE check_foreign_key (1, 'CASCADE', 'did', 'films', 'did');
+ </programlisting>
+ </para>
+ </refsect1>
+
+ <refsect1 id="R1-SQL-CREATETRIGGER-3">
+ <title>
Compatibility
- </TITLE>
- <PARA>
- </PARA>
+ </title>
+ <para>
+ </para>
- <REFSECT2 ID="R2-SQL-CREATETRIGGER-4">
- <REFSECT2INFO>
- <DATE>1998-09-21</DATE>
- </REFSECT2INFO>
- <TITLE>
+ <refsect2 id="R2-SQL-CREATETRIGGER-4">
+ <refsect2info>
+ <date>1998-09-21</date>
+ </refsect2info>
+ <title>
SQL92
- </TITLE>
- <PARA>
+ </title>
+ <para>
There is no <command>CREATE TRIGGER</command> in <acronym>SQL92</acronym>.
- </PARA>
- <PARA>
+ </para>
+
+ <para>
The second example above may also be done by using a FOREIGN KEY
constraint as in:
- </PARA>
- <ProgramListing>
- CREATE TABLE distributors (
+
+ <programlisting>
+CREATE TABLE distributors (
did DECIMAL(3),
name VARCHAR(40),
CONSTRAINT if_film_exists
FOREIGN KEY(did) REFERENCES films
ON UPDATE CASCADE ON DELETE CASCADE
- );
- </ProgramListing>
- <PARA>
+);
+ </programlisting>
+ </para>
+
+ <para>
However, foreign keys are not yet implemented (as of version 6.4) in
<productname>Postgres</productname>.
- </PARA>
+ </para>
</refsect2>
</refsect1>
-</REFENTRY>
+</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
-sgml-omittag:t
+sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t