2013-12-11 30 views
3

我有以下类型:物化视图与嵌套表

create or replace type varchar2_arr as table of varchar2(300) 

我尝试创建物化视图:

create table a (id varchar2(10), data varchar2(200), constraint pk_a primary key(id)); 
create table b (id varchar2(10), data varchar2(200), constraint pk_b primary key(id)); 

create materialized view log on a with rowid; 
create materialized view log on b with rowid; 

create materialized view mnest_ab_mv 
refresh fast on commit 
as 
select a.rowid a_rowid, b.rowid b_rowid, varchar2_arr(a.data), b.data 
from a, b 
where a.id = b.id (+) 

甲骨文给了我以下错误:

ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view 

什么我需要做一个嵌套表创建物化视图?

+1

你是如何建立的嵌套表是这个原因吗? –

+0

@DavidAldridge,因为当我删除'varchar2_arr(a.data)'列物化视图被创建成功 –

+0

@michaelnesterenko您的CREATE代码部分已损坏。请更新它。 –

回答

1

您是否尝试过运行DBMS_MVIEW.EXPLAIN_MVIEW过程,其输出可能有所帮助。

感谢

Vishad