2017-09-29 18 views
0

Oracle 10gを使用していますが、既存のマテリアライズドビューにPARTITIONおよびSUBPARTITIONを作成しようとしています。次のようにOracleデータベースの既存のPartiionを使用して日付に範囲を指定して(日付でも)サブパーティションを作成する方法はありますか?

現在のパーティション構文は次のとおりです。

CREATE MATERIALIZED VIEW TEST 
NOLOGGING 
PARTITION BY RANGE(TEST_DATE) 
SUBPARTITION BY RANGE(MONTH(TEST_DATE)) 
     (PARTITION A0 VALUES LESS THAN ('01-01-2015') 
     ,PARTITION A1 VALUES LESS THAN ('01-01-2016') 
     ,PARTITION A2 VALUES LESS THAN ('01-01-2017') 
     ...) 
AS 
SELECT.... 

私は今、これを修正しようと探して一日のためにしようとしてきた、私は右括弧が欠落していますと言って、構文エラーを取得しますオンライン。誰かが正しい方向に私を助けることができますか?おそらく、私は月と年のサブパーティションでパーティション化できますか?

+0

年間パーティションの月ごとにサブパーティションを作成する目的は何ですか。これは本当に役に立たないようです。 –

答えて

0

仮想列でハッキングを行わない限り、これは可能ではないと思います。

単純に間隔を月単位で区切ります。

... 
PARTITION BY RANGE (TEST_DATE) INTERVAL (INTERVAL '1' MONTH) 
(PARTITION A_INITIAL VALUES LESS THAN (DATE '2014-01-01') 
+0

年ごとにパーティションを作成し、次に月単位でサブパーティションを作成することは可能ですか?もしそうなら、誰かが構文を助けることができるだろうか?前もって感謝します – icerabbit

関連する問題