1
0
mirror of https://github.com/postgres/postgres.git synced 2025-12-21 05:21:08 +03:00
Files
postgres/doc/src/sgml/ref/alter_trigger.sgml
Bruce Momjian 1b7f3cc02d This patch implements FOR EACH STATEMENT triggers, per my email to
-hackers a couple days ago.

Notes/caveats:

        - added regression tests for the new functionality, all
          regression tests pass on my machine

        - added pg_dump support

        - updated PL/PgSQL to support per-statement triggers; didn't
          look at the other procedural languages.

        - there's (even) more code duplication in trigger.c than there
          was previously. Any suggestions on how to refactor the
          ExecXXXTriggers() functions to reuse more code would be
          welcome -- I took a brief look at it, but couldn't see an
          easy way to do it (there are several subtly-different
          versions of the code in question)

        - updated the documentation. I also took the liberty of
          removing a big chunk of duplicated syntax documentation in
          the Programmer's Guide on triggers, and moving that
          information to the CREATE TRIGGER reference page.

        - I also included some spelling fixes and similar small
          cleanups I noticed while making the changes. If you'd like
          me to split those into a separate patch, let me know.

Neil Conway
2002-11-23 03:59:09 +00:00

179 lines
3.9 KiB
Plaintext

<!--
PostgreSQL documentation
-->
<refentry id="SQL-ALTERTRIGGER">
<refmeta>
<refentrytitle id="sql-altertrigger-title">
ALTER TRIGGER
</refentrytitle>
<refmiscinfo>SQL - Language Statements</refmiscinfo>
</refmeta>
<refnamediv>
<refname>
ALTER TRIGGER
</refname>
<refpurpose>
change the definition of a trigger
</refpurpose>
</refnamediv>
<refsynopsisdiv>
<refsynopsisdivinfo>
<date>2002-04-19</date>
</refsynopsisdivinfo>
<synopsis>
ALTER TRIGGER <replaceable class="PARAMETER">trigger</replaceable> ON <replaceable class="PARAMETER">table</replaceable>
RENAME TO <replaceable class="PARAMETER">newname</replaceable>
</synopsis>
<refsect2 id="R2-SQL-ALTERTRIGGER-1">
<refsect2info>
<date>2002-04-19</date>
</refsect2info>
<title>
Inputs
</title>
<para>
<variablelist>
<varlistentry>
<term><replaceable class="PARAMETER"> trigger </replaceable></term>
<listitem>
<para>
The name of an existing trigger to alter.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER"> table </replaceable></term>
<listitem>
<para>
The name of the table on which this trigger acts.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><replaceable class="PARAMETER"> newname </replaceable></term>
<listitem>
<para>
New name for the existing trigger.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect2>
<refsect2 id="R2-SQL-ALTERTRIGGER-2">
<refsect2info>
<date>2002-04-19</date>
</refsect2info>
<title>
Outputs
</title>
<para>
<variablelist>
<varlistentry>
<term><computeroutput>ALTER TRIGGER</computeroutput></term>
<listitem>
<para>
Message returned from trigger renaming.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><computeroutput>ERROR</computeroutput></term>
<listitem>
<para>
Message returned if trigger is not available, or new name is a duplicate of another existing trigger on the table.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect2>
</refsynopsisdiv>
<refsect1 id="R1-SQL-ALTERTRIGGER-1">
<refsect1info>
<date>2002-04-19</date>
</refsect1info>
<title>
Description
</title>
<para>
<command>ALTER TRIGGER</command> changes the definition of an existing trigger.
The <literal>RENAME</literal> clause causes the name of a trigger on the given table
to change without otherwise changing the trigger definition.
</para>
<para>
You must own the table on which the trigger acts in order to change its properties.
</para>
<refsect2 id="R2-SQL-ALTERTRIGGER-3">
<refsect2info>
<date>2002-04-19</date>
</refsect2info>
<title>
Notes
</title>
<para>
Refer to <command>CREATE TRIGGER</command> for a further description
of valid arguments.
</para>
</refsect2>
</refsect1>
<refsect1 id="R1-SQL-ALTERTRIGGER-2">
<title>
Usage
</title>
<para>
To rename an existing trigger:
<programlisting>
ALTER TRIGGER emp_stamp ON emp RENAME TO emp_track_chgs;
</programlisting>
</para>
</refsect1>
<refsect1 id="R1-SQL-ALTERTRIGGER-3">
<title>
Compatibility
</title>
<refsect2 id="R2-SQL-ALTERTRIGGER-4">
<refsect2info>
<date>2002-04-19</date>
</refsect2info>
<title>SQL92</title>
<para>
<command>ALTER TRIGGER</command> is a <productname>PostgreSQL</>
extension of SQL92.
</para>
</refsect2>
</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:
-->