Oracle - создание материализованного представления - PullRequest
0 голосов
/ 16 декабря 2011

Я читаю некоторые статьи, даже некоторые ответы здесь в стеке, но у меня все еще есть некоторые проблемы. Я выложу свой код MV для возможного анализа:

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 каждый месяц обновлялся. Может кто-нибудь помочь?

Спасибо!

Ответы [ 2 ]

1 голос
/ 16 декабря 2011

Сначала вам следует обратиться к документации Oracle , особенно по вопросам синтаксиса.Все, что вы просите, + еще есть.Справочные материалы по языку очень полезны, когда вы привыкнете к ним, и вы просто можете узнать несколько новых вещей относительно того, что вы исследуете.

1 голос
/ 16 декабря 2011

В вашей команде есть две синтаксические ошибки.

Предложение WIDTH PRIMARY KEY должно быть WITH PRIMARY KEY (у вас есть опечатка на WITH)

В предложении NEXT используется литерал даты, для которого требуется ключевое слово date:

NEXT DATE '2011-12-01' + 31.

Таким образом, полная команда должна быть:

CREATE MATERIALIZED VIEW some_materialized_view
REFRESH
  COMPLETE
  START WITH SYSDATE
  NEXT DATE '2011-12-01' + 31
  WITH PRIMARY KEY
AS <your query here>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...