例4-1では、1つのパーティションが各四半期の売上に対応する、4つのパーティションの表が作成されます。time_idはパーティション化列で、その値は特定の行のパーティション化キーを含みます。VALUES LESS THAN句によってパーティション・バウンドが決まります。この句で指定された値の順序リストと比較して、パーティション化キーの値がそれより小さい行がそのパーティションに保存されます。各パーティションには名前が付けられ(sales_q1_2006、sales_q2_2006、sales_q3_2006、sales_q4_2006)、各パーティションは別の表領域(tsa、tsb、tsc、tsd)に格納されます。time_id=17-MAR-2006を含む行は、パーティションsales_q1_2006に格納されます。
Live SQL
「Oracle Live SQL: レンジ・パーティション化の例」で、Oracle Live SQLの関連する例を参照して実行してください。
例4-1 レンジ・パーティション表の作成
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)
)
PARTITION BY RANGE (time_id)
( PARTITION sales_q1_2006 VALUES LESS THAN (TO_DATE('01-APR-2006','dd-MON-yyyy'))
TABLESPACE tsa
, 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
);