後続の時間隔パーティションのリスト・サブパーティションは、サブパーティション・テンプレートでのみ定義できます。サブパーティション・テンプレートを使用しない場合、各時間隔パーティションに作成されるサブパーティションはDEFAULTサブパーティションのみです。サブパーティション・テンプレートの使用方法の詳細は、「コンポジット・パーティション表を説明するサブパーティション・テンプレートの指定」を参照してください。
例4-15では、time_idにより日間隔で時間隔パーティション化され、channel_idでリスト・サブパーティション化されたsales表を示します。
例4-15 コンポジット時間隔 - リスト・パーティション表の作成
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) INTERVAL (NUMTODSINTERVAL(1,'DAY'))
SUBPARTITION BY LIST (channel_id)
SUBPARTITION TEMPLATE
( SUBPARTITION p_catalog VALUES ('C')
, SUBPARTITION p_internet VALUES ('I')
, SUBPARTITION p_partners VALUES ('P')
, SUBPARTITION p_direct_sales VALUES ('S')
, SUBPARTITION p_tele_sales VALUES ('T')
)
(PARTITION before_2000 VALUES LESS THAN (TO_DATE('01-JAN-2000','dd-MON-yyyy'))
)
PARALLEL;