summaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/drop_trigger.sgml
blob: e1a0d25bcffc01fcbbc31291f29b87782fb9b1ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!--
doc/src/sgml/ref/drop_trigger.sgml
PostgreSQL documentation
-->

<refentry id="SQL-DROPTRIGGER">
 <indexterm zone="sql-droptrigger">
  <primary>DROP TRIGGER</primary>
 </indexterm>

 <refmeta>
  <refentrytitle>DROP TRIGGER</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>DROP TRIGGER</refname>
  <refpurpose>remove a trigger</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
DROP TRIGGER [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceable> ON <replaceable class="PARAMETER">table_name</replaceable> [ CASCADE | RESTRICT ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   The <command>DROP TRIGGER</> statement is not yet supported
   in <productname>Postgres-XL</>.
  </para>

  <para>
   <command>DROP TRIGGER</command> removes an existing
   trigger definition. To execute this command, the current
   user must be the owner of the table for which the trigger is defined.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>

   <varlistentry>
    <term><literal>IF EXISTS</literal></term>
    <listitem>
     <para>
      Do not throw an error if the trigger does not exist. A notice is issued
      in this case.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="PARAMETER">name</replaceable></term>
    <listitem>
     <para>
      The name of the trigger to remove.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="PARAMETER">table_name</replaceable></term>
    <listitem>
     <para>
      The name (optionally schema-qualified) of the table for which
      the trigger is defined.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>CASCADE</literal></term>
    <listitem>
     <para>
      Automatically drop objects that depend on the trigger,
      and in turn all objects that depend on those objects
      (see <xref linkend="ddl-depend">).
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>RESTRICT</literal></term>
    <listitem>
     <para>
      Refuse to drop the trigger if any objects depend on it.  This is
      the default.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1 id="SQL-DROPTRIGGER-examples">
  <title>Examples</title>

  <para>
   Destroy the trigger <literal>if_dist_exists</literal> on the table
   <literal>films</literal>:

<programlisting>
DROP TRIGGER if_dist_exists ON films;
</programlisting></para>
 </refsect1>

 <refsect1 id="SQL-DROPTRIGGER-compatibility">
  <title>Compatibility</title>

  <para>
   The <command>DROP TRIGGER</command> statement in
   <productname>PostgreSQL</productname> is incompatible with the SQL
   standard.  In the SQL standard, trigger names are not local to
   tables, so the command is simply <literal>DROP TRIGGER
   <replaceable>name</replaceable></literal>.
  </para>
 </refsect1>

 <refsect1>
  <title>See Also</title>

  <simplelist type="inline">
   <member><xref linkend="sql-createtrigger"></member>
  </simplelist>
 </refsect1>

</refentry>