ALTER TABLEを使用できます... サブパーティション定義とそのサブパーティションに格納されているデータを削除するDROP SUBPARTITIONコマンド。
概要
ALTER TABLEを使用できます... サブパーティション定義とそのサブパーティションに格納されているデータを削除するDROP SUBPARTITIONコマンド。 構文:
ALTER TABLE table_name DROP SUBPARTITION subpartition_name;
説明
ALTER TABLE... DROP SUBPARTITIONコマンドは、サブパーティションとサブパーティションに格納されているデータを削除します。 DROP SUBPARTITION句を使用するには、パーティショニングルートの所有者であるか、テーブルを所有するグループのメンバーであるか、スーパーユーザーまたは管理者権限を持っている必要があります。
パラメーター
パラメーター | 説明 |
table_name | パーティションテーブルの名前 (オプションでスキーマ修飾) 。 |
subpartition_name | 削除するサブパーティションの名前。 |
例-サブパーティションの削除
次の例では、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
-------------------+---------------------
europe | 'ITALY', 'FRANCE'
americas | 'CANADA', 'US'
asia | 'PAKISTAN', 'INDIA'
(3 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
-------------------+---------------------
europe | 'ITALY', 'FRANCE'
asia | 'PAKISTAN', 'INDIA'
(2 rows)