============ DROP ROUTINE ============ .. container:: refentry :name: SQL-DROPROUTINE .. container:: titlepage .. container:: refnamediv .. rubric:: DROP ROUTINE :name: drop-routine DROP ROUTINE — 删除一个例程 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis DROP ROUTINE [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...] [ CASCADE | RESTRICT ] .. container:: refsect1 :name: id-1.9.3.127.5 .. rubric:: 简介 :name: 简介 ``DROP ROUTINE``\ 删除一个现有例程的定义,它可以是一个聚集函数、一个普通函数或者过程。有关参数的描述、更多的示例以及进一步的细节请参考\ `DROP AGGREGATE `__\ 、\ `DROP FUNCTION `__\ 以及\ `DROP PROCEDURE `__\ 。 .. container:: refsect1 :name: SQL-DROPROUTINE-EXAMPLES .. rubric:: 示例 :name: 示例 删除类型\ ``integer``\ 的例程\ ``foo``\ : .. code:: programlisting DROP ROUTINE foo(integer); 不管\ ``foo``\ 是一个聚集、函数或是一个过程,这个命令都能起作用。 .. container:: refsect1 :name: SQL-DROPROUTINE-COMPATIBILITY .. rubric:: 兼容性 :name: 兼容性 这个命令符合SQL标准,不过PostgreSQL做了下面这些扩展: .. container:: itemizedlist - 标准仅允许每个命令删除一个例程。 - ``IF EXISTS``\ 选项 - 指定参数模式和名称的能力 - 聚集函数是一种扩展。 .. container:: refsect1 :name: id-1.9.3.127.8 .. rubric:: 另见 :name: 另见 `DROP AGGREGATE `__, `DROP FUNCTION `__, `DROP PROCEDURE `__, `ALTER ROUTINE `__ 注意\ ``CREATE ROUTINE``\ 命令不存在。