DROP SCHEMA

从当前/指定的数据库中移除架构。

另请参阅:

CREATE SCHEMAALTER SCHEMADESCRIBE SCHEMASHOW SCHEMASUNDROP SCHEMA

语法

DROP SCHEMA [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]
Copy

参数

name

指定要删除的架构的标识符。如果标识符包含空格、特殊字符或大小写混合字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

如果未以 db_name.schema_name 形式完全限定架构标识符,则该命令将在会话的当前数据库中查找架构。

CASCADE | RESTRICT

指定如果存在引用架构中任何表的外键,是否可以删除架构:

  • CASCADE 会删除架构和架构中的所有对象,包括具有由其他表中的外键引用的主键/唯一键的表。

  • RESTRICT 会返回有关现有外键引用的警告,并且不会删除架构。

默认:CASCADE

使用说明

  • 删除架构不会将其从系统中永久移除。Time Travel 中会保留已删除架构的版本,而保留天数由该架构的 DATA_RETENTION_TIME_IN_DAYS 参数指定:

    1. 在 Time Travel 保留期内,可以使用 UNDROP SCHEMA 命令还原已删除的架构。

    2. 当 Time Travel 保留期结束时,已删除架构的下一个状态取决于它是永久的还是瞬态的:

      • 永久架构将进入 故障安全 状态。在故障安全状态下(为期 7 天),可以恢复已删除的架构,但只能由 Snowflake 恢复。当架构退出故障安全状态后,它将被清除。

      • 瞬态架构没有故障安全状态,因此当它移出 Time Travel 后会被清除。

    3. 已删除的架构一经清除便无法恢复,只能重新创建。

  • 目前,删除架构时,如果将子表的数据保留期显式设置为不同于架构的保留期,则不会遵守子表的保留期。子表的保留时间与架构相同。要遵守子表的数据保留期,请在删除架构 之前 显式删除子表。

  • 删除架构后,创建同名架构将会创建该架构的新版本。仍然可以使用以下方法还原先前架构的已删除版本:

    1. 将架构的当前版本重命名为其他名称。

    2. 使用 UNDROP SCHEMA 命令还原先前的版本。

  • 如果有策略或标签附加到表或视图列,则要成功删除架构,必须让策略或标签自包含在数据库和架构中。例如,database_1 包含 policy_1policy_1 仅在 database_1 中使用。否则,将出现 悬空引用

  • 如果在用户或账户上设置了会话策略或密码策略,则 DROP 操作将失败。

示例

删除名为 myschema 的架构(来自 CREATE SCHEMA 示例):

DROP SCHEMA myschema;

+--------------------------------+
| status                         |
|--------------------------------|
| MYSCHEMA successfully dropped. |
+--------------------------------+

SHOW SCHEMAS;

+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+
| created_on                      | name               | is_default | is_current | database_name | owner  | comment                                                   | options | retention_time |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------|
| Fri, 13 May 2016 17:26:07 -0700 | INFORMATION_SCHEMA | N          | N          | MYTESTDB      |        | Views describing the contents of schemas in this database |         |              1 |
| Tue, 17 Mar 2015 16:57:04 -0700 | PUBLIC             | N          | Y          | MYTESTDB      | PUBLIC |                                                           |         |              1 |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+
Copy
语言: 中文