[レンジ | リスト | 時間隔] - レンジ・パーティション表への新しいパーティションの追加は、すでに説明されている内容と同様です。特定の時間隔のデータが挿入されると、データベースにより時間隔 - レンジ・パーティション表に時間隔パーティションが自動的に作成されます。特定のサブパーティションに名前を付け、レンジを指定するには、SUBPARTITION
句を指定します。SUBPARTITION
句が指定されていない場合、パーティションは、表レベルに指定されたサブパーティション・テンプレートを継承します。サブパーティション・テンプレートがない場合には、最大値がMAXVALUE
の単一のサブパーティションが作成されます。
例4-27では、2007年1月に注文された出荷品に関するデータが移入されるレンジ・パーティションp_2007_jan
を、レンジ - レンジ・パーティション表shipments
に追加します。3つのサブパーティションがあります。サブパーティションはパーティション・レベルから圧縮属性を継承し、この例では圧縮された形式で格納されます。
例4-27 レンジ - レンジ・パーティション表へのパーティションの追加
ALTER TABLE shipments ADD PARTITION p_2007_jan VALUES LESS THAN (TO_DATE('01-FEB-2007','dd-MON-yyyy')) COMPRESS ( SUBPARTITION p07_jan_e VALUES LESS THAN (TO_DATE('15-FEB-2007','dd-MON-yyyy')) , SUBPARTITION p07_jan_a VALUES LESS THAN (TO_DATE('01-MAR-2007','dd-MON-yyyy')) , SUBPARTITION p07_jan_l VALUES LESS THAN (TO_DATE('01-APR-2007','dd-MON-yyyy')) ) ;
レンジ・サブパーティションを[レンジ | リスト | 時間隔] - レンジ・パーティション表に追加するには、ALTER
TABLE
文のMODIFY
PARTITION
ADD
SUBPARTITION
句を使用します。時間隔 - レンジ・パーティション表の場合、パーティションを追加できるのは、マテリアライズ化されたレンジまたは時間隔パーティションのみです。
次の例では、order_date
が2007年1月で、delivery_date
が2007年4月1日以降のすべての値が含まれるshipments
表に、レンジ・サブパーティションを追加します。
ALTER TABLE shipments MODIFY PARTITION p_2007_jan ADD SUBPARTITION p07_jan_vl VALUES LESS THAN (MAXVALUE) ;