2015-10-20 159 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>