2015-10-20 3 views
0
CREATE OR REPLACE MATERIALIZED VIEW MV_NAME BUILD IMMEDIATE AS 
<SQL Query> 

Итак, я последовал этому примеру в своей лекции. Но это не работает, когда я запускаю его в оракуле. Когда я набрал его в блокноте ++ с файлом, сохраненным как .sql, части MATERIALIZED и BUILD не были выделены жирным шрифтом, как и в Notepad ++. Я провел некоторое исследование в Интернете, и я обнаружил, что все говорит, что заявление, которое я использую, является правильным. Но командная строка SQL и Notepad ++ говорят иначе. Я получил ошибку ORA-00922: Missing or invalid option в подсказке. Кто-нибудь знает, в чем проблема и как это исправить?Использование предложения CREATE MATERIALIZED VIEW в oracle 11g

+0

"* и как исправить это? *" - прочитайте руководство? –

ответ

1

create materialized view statement не поддерживает опцию or replace, которую вы можете использовать с обычным видом.

CREATE MATERIALIZED VIEW [ schema. ] materialized_view 
    [ OF [ schema. ] object_type ] 
    [ ({ scoped_table_ref_constraint 
     | column_alias [ENCRYPT [encryption_spec]] 
     } 
     [, { scoped_table_ref_constraint 
     | column_alias [ENCRYPT [encryption_spec]] 
     } 
     ]... 
    ) 
    ] 
    { ON PREBUILT TABLE 
    [ { WITH | WITHOUT } REDUCED PRECISION ] 
    | physical_properties materialized_view_props 
    } 
    [ USING INDEX 
    [ physical_attributes_clause 
    | TABLESPACE tablespace 
    ]... 
    | USING NO INDEX 
    ] 
    [ create_mv_refresh ] 
    [ FOR UPDATE ] 
    [ { DISABLE | ENABLE } QUERY REWRITE ] 
AS subquery ; 

Если MV уже существует вам нужно бросить его, прежде чем создавать его снова, без этого недействительной оговорки.

DROP MATERIALIZED VIEW MV_NAME; 
CREATE MATERIALIZED VIEW MV_NAME BUILD IMMEDIATE AS 
<SQL Query> 
Смежные вопросы