すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ALTER TABLE…MERGE PARTITION

最終更新日:May 28, 2024

ALTER TABLE... MERGE PARTITIONコマンドを使用して、2つのパーティションを、元の2つのパーティションのすべてのコンテンツを含む新しいパーティションにマージできます。

説明
  • ステートメントを実行するには、テーブルの所有者であるか、テーブルに対する管理権限が必要です。
  • このSQLコマンドは、LISTパーティションテーブルとRANGEパーティションテーブルでのみ使用できます。 HASH区分テーブルでは使用できません。
  • テーブルにインデックスが存在する場合、インデックスは新しいパーティションに作成されます。

構文

ALTER TABLE table_name MERGE PARTITIONS
        partition_name , partition_name 
        INTO PARTITION new_part [TABLESPACE tablespace_name] ; 

パラメーター

パラメーター説明
table_nameパーティション分割テーブルの名前。 スキーマを指定できます。
partition_nameマージする2つのパーティションの名前。 名前はコンマ (,) で区切ります。
new_part新しいパーティションの名前。

パーティション名は、すべてのパーティションとサブパーティション間で一意である必要があります。

tablespace_name新しいパーティションが存在するテーブルスペースを指定します。

テーブルスペースを指定しない場合、パーティションはデフォルトのテーブルスペースに配置されます。

salesという名前のパーティションテーブルを作成し、テストデータをテーブルに挿入します。 例:

テーブルの販売を作成する
(
  dept_no number,   
  part_no varchar2,
  country varchar2(20),
  date date,
  金額番号
)
リストによるパーティー (国)
(
  PARTITION europe VALUES('FRANCE', 'ITALY'),
  PARTITION asia VALUES('INDIA', 'PAKISTAN'),
  PARTITIONアメリカスバリュー (「米国」、「カナダ」)
);
販売価値に挿入する
  (10, '4519b', 'FRANCE', '17-Jan-2012', '45000'),
  (20, '3788a', 'INDIA', '01-Mar-2012', '75000'),
  (40, '9519b', 'US', '12-Apr-2012', '145000'),
  (20, '3788a', 'PAKISTAN', '04-Jun-2012', '37500'),
  (40, '4577b', 'US', '11-Nov-2012', '25000'),
  (30, '7588b', 'CANADA', '14-Dec-2012', '50000'),
  (30, '9519b', 'CANADA', '01-Feb-2012', '75000'),
  (30, '4519b', 'CANADA', '08-Apr-2012', '120000'),
  (40, '3788a', 'US', '12-May-2012', '4950'),
  (10, '9519b', 'ITALY', '07-Jul-2012', '15000'),
  (10, '9519a', 'FRANCE', '18-Aug-2012', '650000'),
  (10, '9519b', 'FRANCE', '18-Aug-2012', '650000'),
  (20, '3788b', 'INDIA', '21-Sept-2012', '5090'),
  (40, '4788a', 'US', '23-Sept-2012', '4950'),
  (40, '4788b', 'US', '09-Oct-2012', '15000'),
  (20, '4519a', 'INDIA', '18-Oct-2012', '650000'),
  (20、'4519b' 、'INDIA' 、'2-Dec-2012 '、'5090'); 

americasパーティションをuscanadaの2つのパーティションに分割します。 例:

ALTER TABLEセールス分割パーティションアメリカ 
  VALUES ('US')
  に (PARTITION us、PARTITIONカナダ); 

uscanadaのパーティションを新しいパーティションnew_americasにマージします。 例:

ALTER TABLE sales MERGE PARTITIONS私たち、カナダ
  参加先new_americas;