* - レンジ・パーティション表のパーティションのマージは、「レンジ・パーティションのマージ」で説明されている内容と同様です。ただし、2つの* - レンジ・パーティションをマージする場合、結果の新しいパーティションは、サブパーティション・テンプレートからサブパーティションの説明を継承します(サブパーティション・テンプレートが存在する場合)。サブパーティション・テンプレートがない場合には、上限がMAXVALUE
の単一のサブパーティションが新しいパーティションに作成されます。
時間隔 - レンジ・パーティション表の場合、マージできるのは、隣接する2つの時間隔パーティションか、最高位のレンジ・パーティションと最初の時間隔パーティションのみです。「時間隔パーティションのマージ」に説明されているように、時間隔 - レンジ・パーティション表で時間隔をマージすると遷移点が移動します。
次の文では、月次の時間隔 - レンジでパーティション化されたorders
表の2つのパーティションをマージします。表には、サブパーティション・テンプレートがあります。
ALTER TABLE orders MERGE PARTITIONS FOR(TO_DATE('01-MAR-2007','dd-MON-yyyy')), FOR(TO_DATE('01-APR-2007','dd-MON-yyyy')) INTO PARTITION p_pre_may_2007;
2007年3月および2007年4月のパーティションが時間隔 - レンジ・パーティション表の時間隔セクションにある場合、マージ操作により、遷移点が2007年5月1日に移動します。
パーティションp_pre_may_2007
のサブパーティションは、サブパーティション・テンプレートからプロパティを継承します。結果のパーティションのデータには、両方のパーティションのデータが含まれます。ただし、データベースによりエラーが戻される場合があります。これは、次に示す両方の条件に当てはまる場合には、データが新しいパーティション外にマップされているためです。
このエラー条件は、上限がMAXVALUE
のサブパーティションをサブパーティション・テンプレートに必ず指定することでなくすことができます。
マージされたサブパーティションの一部のレンジ値がサブパーティション・テンプレートに含まれていない。
サブパーティション・テンプレートに、上限がMAXVALUE
のサブパーティションの定義がない。