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