2011-12-16 15 views
0

私はいくつかの記事を読んでいます。スタック上のいくつかの解答もありますが、まだいくつかの問題があります。Oracle - マテリアライズド・ビューの作成

CREATE MATERIALIZED VIEW some_materialized_view 
REFRESH COMPLETE 
START WITH sysdate 
NEXT '2011-12-01' + 31 
WIDTH PRIMARY KEY 
AS my_query 

エラーがある:私は何かを忘却アム

00984. 00000 - "column not allowed here" 

私は、可能な分析のための私のMVコードを投稿しますか?私が欲しい唯一のことは、毎月MVが毎月更新されていることです。助けてもらえますか?

ありがとうございます!

+1

「このコードは私にとってはうまくいかない」 - エラーメッセージ?どのような「Not Working」があなたに似ているかについての説明が役に立ちます。 – Ollie

+0

私が得る唯一のエラーは: 00984. 00000 - "ここでは列が許可されていません" – Otuyh

答えて

1

コマンドに2つの構文エラーがあります。

NEXT DATE '2011-12-01' + 31

WIDTH PRIMARY KEYNEXT句がdateキーワードが必要日付リテラルを使用している

(あなたがWITHにタイプミスがあります)WITH PRIMARY KEYでなければなりません。

だから、完全なコマンドは次のようになります。

CREATE MATERIALIZED VIEW some_materialized_view 
REFRESH 
    COMPLETE 
    START WITH SYSDATE 
    NEXT DATE '2011-12-01' + 31 
    WITH PRIMARY KEY 
AS <your query here> 
+0

ありがとう、たくさんの男、その間違いだった!しかし、私はまだ毎月更新する方法を知りたい。 – Otuyh

+0

あなたはNEXT add_months(trunc(sysdate、 'MM')、1)を使うことができます –

+0

おかげで、まさに私が欲しいものです! – Otuyh

1

あなたはおそらくESP構文の質問に対して、Oracle documentation最初に相談してください。あなたが求めているものすべてがそこにあります。言語リファレンスドキュメントは、使い慣れた方に非常に役立ちます。また、あなたが研究しているものに関するいくつかの新しいことを知ることができます。

関連する問題