ALTER TABLE…RENAME PARTITION命令用于重命名表分区。
语法介绍
ALTER TABLE…RENAME PARTITION命令有两种形式。
-
ALTER TABLE table_name RENAME PARTITION partition_name TO new_name;
-
ALTER TABLE table_name RENAME SUBPARTITION subpartition_name TO new_name;
ALTER TABLE…RENAME PARTITION命令在分区和子分区之间没有任何区别。
- 您可以使用 RENAME PARTITION 或 RENAME SUBPARTITION 子句来重命名分区。
- 您可以使用RENAME PARTITION 或 RENAME SUBPARTITION 子句来重命名子分区。
描述
ALTER TABLE…RENAME PARTITION 和 ALTER TABLE…RENAME SUBPARTITION 命令用于重命名分区或子分区。您必须拥有指定的表才能调用ALTER TABLE…RENAME PARTITION 或 ALTER TABLE…RENAME SUBPARTITION。
参数
参数 | 参数说明 |
---|---|
target table | 分区所属的表名称(可以采用模式限定的方式引用)。 |
partition name | 要重命名的分区或子分区。 |
new name | 分区或子分区的新名称。 |
示例 – 重命名分区
下列命令创建了一个名为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 | 'FRANCE', 'ITALY'
asia | 'INDIA', 'PAKISTAN'
americas | 'US', 'CANADA'
(3 rows)
下列命令将分区americas重命名为n_america:
ALTER TABLE sales
RENAME PARTITION americas TO n_america;
查询视图ALL_TAB_PARTITIONS显示了已成功对分区进行了重命名:
acctg=# SELECT partition_name, high_value FROM ALL_TAB_PARTITIONS;
partition_name | high_value
----------------+---------------------
europe | 'FRANCE', 'ITALY'
asia | 'INDIA', 'PAKISTAN'
n_america | 'US', 'CANADA'
(3 rows)