=========== DROP SCHEMA =========== .. container:: refentry :name: SQL-DROPSCHEMA .. container:: titlepage .. container:: refnamediv .. rubric:: DROP SCHEMA :name: drop-schema DROP SCHEMA — 移除一个模式 .. container:: refsynopsisdiv .. rubric:: 大纲 :name: 大纲 .. code:: synopsis DROP SCHEMA [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ] .. container:: refsect1 :name: id-1.9.3.129.5 .. rubric:: 描述 :name: 描述 ``DROP SCHEMA``\ 从数据库中移除模式。 一个模式只能由其拥有者或一个超级用户删除。注意即使拥有者不拥有 该模式中的某些对象,也能删除该模式(以及所有含有的对象)。 .. container:: refsect1 :name: id-1.9.3.129.6 .. rubric:: 参数 :name: 参数 .. container:: variablelist ``IF EXISTS`` 如果该模式不存在则不要抛出一个错误,而是发出一个提示。 *``name``* 一个模式的名称。 ``CASCADE`` 自动删除包含在该模式中的对象(表、函数等),然后删除所有 依赖于那些对象的对象(见\ `第 5.14 节 `__\ )。 ``RESTRICT`` 如果该模式含有任何对象,则拒绝删除它。这是默认值。 .. container:: refsect1 :name: id-1.9.3.129.7 .. rubric:: 注解 :name: 注解 使用\ ``CASCADE``\ 选项可能会使这条命令移除除 指定模式之外其他模式中的对象。 .. container:: refsect1 :name: id-1.9.3.129.8 .. rubric:: 示例 :name: 示例 要从数据库中移除模式\ ``mystuff``\ 及其中 所包含的对象: .. code:: programlisting DROP SCHEMA mystuff CASCADE; .. container:: refsect1 :name: id-1.9.3.129.9 .. rubric:: 兼容性 :name: 兼容性 ``DROP SCHEMA``\ 完全符合 SQL 标准, 不过该标准只允许在每个命令中删除一个模式并且没有 ``IF EXISTS``\ 选项。该选项是一个 PostgreSQL扩展。 .. container:: refsect1 :name: id-1.9.3.129.10 .. rubric:: 另见 :name: 另见 `ALTER SCHEMA `__, `CREATE SCHEMA `__