例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 );