2015-06-23 81 views
-1

我在Oracle中有一個現有的物化視圖。 但我想添加更多列。我看到無法對物化視圖執行 CREATE OR REPLACE,所以我該怎麼做?將列添加到物化視圖

謝謝!

+0

'降物化視圖..;創建物化視圖...' –

+0

但是如果我做了'DROP'並且物化視圖不存在,那麼數據庫會給我一個錯誤,對吧? –

回答

0

將列添加到基表中,然後在MV中運行刷新。

declare 
begin 
    DBMS_SNAPSHOT.REFRESH('your_mv', 'f'); 
end; 
0
select * from dba_objects where status='INVALID'; 

grant create materialized view to <schema>; 
grant create table to <schema>; 

drop MATERIALIZED VIEW <schema>.<mvname>; 

    CREATE MATERIALIZED VIEW <schema>.<mvname> 
    (...) 
    AS SELECT (...); 

select * from <schema>.<mvname>; 


revoke create materialized view from <schema>; 
revoke create table from <schema>; 

select * from dba_objects where status='INVALID';