ALTER TABLE… DROP PARTITION_与 Oracle 数据库兼容的分区命令_表分区_兼容Oracle数据库开发指南_云数据库PolarDB
ALTER TABLE… DROP PARTITION
使用 ALTER TABLE… DROP PARTITION 命令可删除分区定义及存储在该分区中的数据。语法如下:
ALTER TABLE table_name DROP PARTITION partition_name;
参数
参数 | 说明 |
---|---|
table_name | 分区表的名称(可能是 schema 限定的)。 |
partition_name | 要删除的分区的名称。 |
说明
ALTER TABLE… DROP PARTITION 命令删除分区及存储在该分区中的任何数据。ALTER TABLE… DROP PARTITION 命令可删除 LIST 或 RANGE 分区表的分区;请注意,此命令不适用于 HASH 分区表。当您删除分区时,(该分区的)任何二级分区也将被删除。
要使用 DROP PARTITION 子句,您必须是分区根的所有者、拥有表的组的成员或具有数据库超级用户或管理特权。
示例 - 删除分区
后面的示例删除 sales 表的分区。使用以下命令创建 sales 表:
CREATE TABLE sales
(
dept_no number,
part_no varchar2,
country varchar2(20),
date date,
amount number
)
PARTITION BY LIST(country)
(
PARTITION europe VALUES('FRANCE', 'ITALY'),
PARTITION asia VALUES('INDIA', 'PAKISTAN'),
PARTITION americas VALUES('US', 'CANADA')
);
通过查询 ALL_TAB_PARTITIONS 视图,显示分区名称:
acctg=# SELECT partition_name, high_value FROM ALL_TAB_PARTITIONS;
partition_name | high_value
----------------+-------------------------------------
EUROPE | FOR VALUES IN ('FRANCE', 'ITALY')
ASIA | FOR VALUES IN ('INDIA', 'PAKISTAN')
AMERICAS | FOR VALUES IN ('US', 'CANADA')
(3 rows)
要从 sales 表中删除 americas 分区,请调用以下命令:
ALTER TABLE sales DROP PARTITION americas;
通过查询 ALL_TAB_PARTITIONS 视图,可以看到该分区已被成功删除:
acctg=# SELECT partition_name, high_value FROM ALL_TAB_PARTITIONS;
partition_name | high_value
----------------+-------------------------------------
EUROPE | FOR VALUES IN ('FRANCE', 'ITALY')
ASIA | FOR VALUES IN ('INDIA', 'PAKISTAN')
(2 rows)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论