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

所以我在我的講座中遵循了這個例子。但是當我在oracle中運行它時,它不起作用。當我用記事本++鍵入文件並保存爲.sql文件時,MATERIALIZEDBUILD部分沒有像在Notepad ++中那樣以粗體藍色字體出現。我在網上做了一些調查,發現這一切都表明我使用的陳述是正確的。但是SQL命令行和Notepad ++則會說不然。提示中出現ORA-00922: Missing or invalid option錯誤。任何人都知道問題是什麼以及如何解決它?在oracle 11g中使用CREATE MATERIALIZED VIEW子句

+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>