全部產品
Search
文件中心

PolarDB:ALTER TABLE…DROP PARTITION

更新時間:Jul 06, 2024

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)