DROP ICEBERG TABLE

从当前/指定的架构中移除 Iceberg 表,但保留 Iceberg 表的某个版本,以便可以使用 UNDROP ICEBERG TABLE 将其恢复。有关更多信息,请参阅 `使用说明`_(本主题内容)。

请注意,本主题将 Iceberg 表简称为“表”,除非指定 Iceberg 表 以避免混淆。

另请参阅:

CREATE ICEBERG TABLESHOW ICEBERG TABLESUNDROP ICEBERG TABLE

语法

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

参数

name

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

如果表标识符不是完全限定的(以 db_name.schema_name.table_nameschema_name.table_name 的形式),则该命令将在会话的当前架构中查找表。

CASCADE | RESTRICT

指定如果存在引用该表的外键,是否可以删除该表:

  • 即使表具有被其他表中的外键引用的主键/唯一键,CASCADE 也会删除该表。

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

默认:CASCADE

访问控制要求

用于执行此 SQL 命令的 角色 必须至少具有以下 权限

权限

对象

备注

OWNERSHIP

Iceberg 表

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

USAGE

外部卷

USAGE

集成(目录)

如果 Iceberg 表使用外部目录,则为必填项。

请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • 删除表不会将其从系统中永久移除。Snowflake 会在 Time Travel 中保留已删除表的版本,而保留天数由该表的 DATA_RETENTION_TIME_IN_DAYS 参数指定。有关更多信息,请参阅 Iceberg 表的元数据和快照

  • 在 Time Travel 保留期内,您可以使用 UNDROP ICEBERG TABLE 命令恢复已还原的表。

  • 已删除的表清除之后便无法恢复,只能重新创建。

  • 删除表后,创建同名表将会创建该表的新版本。您可以通过以下步骤还原先前表的已删除版本:

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

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

  • 在删除表之前,请验证 :emph:` 没有 ` 视图引用该表。删除视图引用的表会导致视图失效(查询视图会返回“对象不存在”错误)。

示例

删除表:

DROP ICEBERG TABLE t2;

+--------------------------+
| status                   |
|--------------------------|
| T2 successfully dropped. |
+--------------------------+
Copy

再次删除该表,但如果该表不存在,则不会引发错误:

DROP ICEBERG TABLE IF EXISTS t2;

+------------------------------------------------------------+
| status                                                     |
|------------------------------------------------------------|
| Drop statement executed successfully (T2 already dropped). |
+------------------------------------------------------------+
Copy
语言: 中文