diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 12:15:05 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 12:15:05 +0000 |
commit | 46651ce6fe013220ed397add242004d764fc0153 (patch) | |
tree | 6e5299f990f88e60174a1d3ae6e48eedd2688b2b /doc/src/sgml/ref/drop_routine.sgml | |
parent | Initial commit. (diff) | |
download | postgresql-14-upstream.tar.xz postgresql-14-upstream.zip |
Adding upstream version 14.5.upstream/14.5upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/src/sgml/ref/drop_routine.sgml')
-rw-r--r-- | doc/src/sgml/ref/drop_routine.sgml | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/drop_routine.sgml b/doc/src/sgml/ref/drop_routine.sgml new file mode 100644 index 0000000..0a0a140 --- /dev/null +++ b/doc/src/sgml/ref/drop_routine.sgml @@ -0,0 +1,123 @@ +<!-- +doc/src/sgml/ref/drop_routine.sgml +PostgreSQL documentation +--> + +<refentry id="sql-droproutine"> + <indexterm zone="sql-droproutine"> + <primary>DROP ROUTINE</primary> + </indexterm> + + <refmeta> + <refentrytitle>DROP ROUTINE</refentrytitle> + <manvolnum>7</manvolnum> + <refmiscinfo>SQL - Language Statements</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>DROP ROUTINE</refname> + <refpurpose>remove a routine</refpurpose> + </refnamediv> + + <refsynopsisdiv> +<synopsis> +DROP ROUTINE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [ ( [ [ <replaceable class="parameter">argmode</replaceable> ] [ <replaceable class="parameter">argname</replaceable> ] <replaceable class="parameter">argtype</replaceable> [, ...] ] ) ] [, ...] + [ CASCADE | RESTRICT ] +</synopsis> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + + <para> + <command>DROP ROUTINE</command> removes the definition of one or more + existing routines. The term <quote>routine</quote> includes + aggregate functions, normal functions, and procedures. See + under <xref linkend="sql-dropaggregate"/>, <xref linkend="sql-dropfunction"/>, + and <xref linkend="sql-dropprocedure"/> for the description of the + parameters, more examples, and further details. + </para> + </refsect1> + + <refsect1 id="sql-droproutine-notes"> + <title>Notes</title> + + <para> + The lookup rules used by <command>DROP ROUTINE</command> are + fundamentally the same as for <command>DROP PROCEDURE</command>; in + particular, <command>DROP ROUTINE</command> shares that command's + behavior of considering an argument list that has + no <replaceable class="parameter">argmode</replaceable> markers to be + possibly using the SQL standard's definition that <literal>OUT</literal> + arguments are included in the list. (<command>DROP AGGREGATE</command> + and <command>DROP FUNCTION</command> do not do that.) + </para> + + <para> + In some cases where the same name is shared by routines of different + kinds, it is possible for <command>DROP ROUTINE</command> to fail with + an ambiguity error when a more specific command (<command>DROP + FUNCTION</command>, etc.) would work. Specifying the argument type + list more carefully will also resolve such problems. + </para> + + <para> + These lookup rules are also used by other commands that + act on existing routines, such as <command>ALTER ROUTINE</command> + and <command>COMMENT ON ROUTINE</command>. + </para> + </refsect1> + + <refsect1 id="sql-droproutine-examples"> + <title>Examples</title> + + <para> + To drop the routine <literal>foo</literal> for type + <type>integer</type>: +<programlisting> +DROP ROUTINE foo(integer); +</programlisting> + This command will work independent of whether <literal>foo</literal> is an + aggregate, function, or procedure. + </para> + </refsect1> + + <refsect1 id="sql-droproutine-compatibility"> + <title>Compatibility</title> + + <para> + This command conforms to the SQL standard, with + these <productname>PostgreSQL</productname> extensions: + <itemizedlist> + <listitem> + <para>The standard only allows one routine to be dropped per command.</para> + </listitem> + <listitem> + <para>The <literal>IF EXISTS</literal> option is an extension.</para> + </listitem> + <listitem> + <para>The ability to specify argument modes and names is an + extension, and the lookup rules differ when modes are given.</para> + </listitem> + <listitem> + <para>User-definable aggregate functions are an extension.</para> + </listitem> + </itemizedlist></para> + </refsect1> + + <refsect1> + <title>See Also</title> + + <simplelist type="inline"> + <member><xref linkend="sql-dropaggregate"/></member> + <member><xref linkend="sql-dropfunction"/></member> + <member><xref linkend="sql-dropprocedure"/></member> + <member><xref linkend="sql-alterroutine"/></member> + </simplelist> + + <para> + Note that there is no <literal>CREATE ROUTINE</literal> command. + </para> + </refsect1> + +</refentry> |