在 Hologres 中,删除分区表或删除分区表中的某个分区均使用标准的 DROP TABLE 语句,无单独的 DROP PARTITION TABLE 语法。本文介绍如何删除整个分区表,以及如何仅删除分区表中的某个分区。
使用限制
删除分区表父表时,默认同时删除分区表子表。
PARTITION TABLE为需要删除的目标分区表。
语法
在 Hologres 中,删除分区表与删除普通表使用相同的 DROP TABLE 语法,无需也不支持单独的 DROP PARTITION TABLE 语句。根据需求可选择:删除整个分区表(父表或子表),或仅删除分区表中的某个分区(即对指定分区子表执行 DROP TABLE)。
删除分区表或分区子表的语法如下。
DROP TABLE [ IF EXISTS ] table_name [, ...];DROP TABLE支持一次删除多个表。
参数说明如下表所示。
参数 | 描述 |
IF EXISTS |
|
table_name | 需要删除的表名称。 |
删除分区表中的某个分区
若只需删除分区表中的某一个分区(即从分区表中去掉该分区对应的子表),可对该分区子表执行 DROP TABLE 子表名。执行后,该分区从分区表中移除,父表及其他分区不受影响。
若需先将分区从父表解绑为独立表再删除,可先使用 ALTER TABLE 父表 DETACH PARTITION 子表,再对解绑后的表执行 DROP TABLE。DETACH 用法请参见ALTER PARTITION TABLE。
示例
删除分区表或分区子表的示例 SQL 如下。
仅删除分区表中的某个分区(删除指定分区子表):
DROP TABLE hologres_child2;执行后,
hologres_child2从分区表中移除,父表及其他分区子表保留。删除整个分区表(删除父表时默认同时删除其所有分区子表):
DROP TABLE hologres_parent;