プライマリ・コンテンツに移動
Oracle® Database VLDBおよびパーティショニング・ガイド
12c リリース1 (12.1)
B71291-10
目次へ移動
目次
索引へ移動
索引

前
次

コンポジット時間隔 - リスト・パーティション表の作成

後続の時間隔パーティションのリスト・サブパーティションは、サブパーティション・テンプレートでのみ定義できます。サブパーティション・テンプレートを使用しない場合、各時間隔パーティションに作成されるサブパーティションは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;