============= DROP LANGUAGE ============= .. container:: refentry :name: SQL-DROPLANGUAGE .. container:: titlepage .. container:: refnamediv .. rubric:: DROP LANGUAGE :name: drop-language DROP LANGUAGE — 移除一个过程语言 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name [ CASCADE | RESTRICT ] .. container:: refsect1 :name: id-1.9.3.117.5 .. rubric:: 描述 :name: 描述 ``DROP LANGUAGE``\ 移除一个之前注册的过程语言 的定义。你必须是一个超级用户或者该语言的拥有者才能使用 ``DROP LANGUAGE``\ 。 .. note:: .. rubric:: 注意 :name: 注意 :class: title 自PostgreSQL 9.1 起,大部分过程语言 已经被做成了“扩展”,因此应该用 `DROP EXTENSION `__\ 而不是 ``DROP LANGUAGE``\ 删除。 .. container:: refsect1 :name: id-1.9.3.117.6 .. rubric:: 参数 :name: 参数 .. container:: variablelist ``IF EXISTS`` 如果该语言不存在则不要抛出一个错误,而是发出一个提示。 *``name``* 一个已有过程语言的名称。为了向前兼容,这个名称可以用单引号包围。 ``CASCADE`` 自动删除依赖于该语言的对象(例如该语言中的函数),然后删除所有 依赖于那些对象的对象(见\ `第 5.14 节 `__\ )。 ``RESTRICT`` 如果有任何对象依赖于该语言,则拒绝删除它。这是默认值。 .. container:: refsect1 :name: id-1.9.3.117.7 .. rubric:: 示例 :name: 示例 这个命令移除过程语言\ ``plsample``\ : .. code:: programlisting DROP LANGUAGE plsample; .. container:: refsect1 :name: id-1.9.3.117.8 .. rubric:: 兼容性 :name: 兼容性 在 SQL 标准中没有\ ``DROP LANGUAGE``\ 语句。 .. container:: refsect1 :name: id-1.9.3.117.9 .. rubric:: 另见 :name: 另见 `ALTER LANGUAGE `__, `CREATE LANGUAGE `__