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)