ALTER TABLE…DROP PARTITION命令用於刪除分區和儲存在這個分區上的資料。
文法介紹
文法如下:
ALTER TABLE table_name DROP PARTITION partition_name;
描述
ALTER TABLE…DROP PARTITION命令用於刪除分區和儲存在這個分區上的資料。當您刪除一個分區時,這個分區的任何子分區也會被刪除。
要使用DROP PARTITION子句,您必須是分區根的擁有者、擁有表的小組的成員或擁有資料庫超級使用者或管理員的許可權。
參數
參數 | 參數說明 |
table name | 分區表名稱(可以採用模式限定的方式引用)。 |
partition name | 要刪除的分區名稱 |
樣本 – 刪除分區
下列樣本刪除了表 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 | 'FRANCE', 'ITALY'
asia | 'INDIA', 'PAKISTAN'
americas | '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
----------------+---------------------
asia | 'INDIA', 'PAKISTAN'
europe | 'FRANCE', 'ITALY'
(2 rows)