例4-2では、レンジ・パーティション表の作成がより複雑になっています。記憶域パラメータおよびLOGGING属性が表レベルで指定されています。これらは、表自体の表領域レベルから継承された対応するデフォルトを置き換え、レンジ・パーティションに継承されます。ただし、第1四半期には取引が少なかったため、パーティションsales_q1_2006の記憶域属性は小さく設定されています。ENABLE ROW MOVEMENT句は、キー値に、行を別のパーティションに配置するような更新が行われた場合に、新しいパーティションへの自動的な行の移行を可能にするために指定されています。
例4-2 LOGGINGおよびENABLE ROW MOVEMENTを使用したレンジ・パーティション表の作成
CREATE TABLE sales
( prod_id NUMBER(6)
, cust_id NUMBER
, time_id DATE
, channel_id CHAR(1)
, promo_id NUMBER(6)
, quantity_sold NUMBER(3)
, amount_sold NUMBER(10,2)
)
STORAGE (INITIAL 100K NEXT 50K) LOGGING
PARTITION BY RANGE (time_id)
( PARTITION sales_q1_2006 VALUES LESS THAN (TO_DATE('01-APR-2006','dd-MON-yyyy'))
TABLESPACE tsa STORAGE (INITIAL 20K NEXT 10K)
, PARTITION sales_q2_2006 VALUES LESS THAN (TO_DATE('01-JUL-2006','dd-MON-yyyy'))
TABLESPACE tsb
, PARTITION sales_q3_2006 VALUES LESS THAN (TO_DATE('01-OCT-2006','dd-MON-yyyy'))
TABLESPACE tsc
, PARTITION sales_q4_2006 VALUES LESS THAN (TO_DATE('01-JAN-2007','dd-MON-yyyy'))
TABLESPACE tsd
)
ENABLE ROW MOVEMENT;