CREATE MATERIALIZED VIEW LOG ON tmp_mv1
WITH rowid
INCLUDING NEW VALUES;
WITH rowid
INCLUDING NEW VALUES;
SQL> create materialized view MV_TMP_16
2 refresh fast on demand
3 start with to_date('14-02-2014 17:03:16', 'dd-mm-yyyy hh24:mi:ss') next SYSDATE+ 3/1440
4 enable query rewrite
5 as
6 select SO.ID,so.name, CO.Pid,co.id as co_id
7 from tmp_mv1 SO, tmp_mv2 CO
8 where SO.ID= CO.pid;
create materialized view MV_TMP_16
refresh fast on demand
start with to_date('14-02-2014 17:03:16', 'dd-mm-yyyy hh24:mi:ss') next SYSDATE+ 3/1440
enable query rewrite
as
select SO.ID,so.name, CO.Pid,co.id as co_id
from tmp_mv1 SO, tmp_mv2 CO
where SO.ID= CO.pid
ORA-12052: cannot fast refresh materialized view DCS_BIZ.MV_TMP_16
2 refresh fast on demand
3 start with to_date('14-02-2014 17:03:16', 'dd-mm-yyyy hh24:mi:ss') next SYSDATE+ 3/1440
4 enable query rewrite
5 as
6 select SO.ID,so.name, CO.Pid,co.id as co_id
7 from tmp_mv1 SO, tmp_mv2 CO
8 where SO.ID= CO.pid;
create materialized view MV_TMP_16
refresh fast on demand
start with to_date('14-02-2014 17:03:16', 'dd-mm-yyyy hh24:mi:ss') next SYSDATE+ 3/1440
enable query rewrite
as
select SO.ID,so.name, CO.Pid,co.id as co_id
from tmp_mv1 SO, tmp_mv2 CO
where SO.ID= CO.pid
ORA-12052: cannot fast refresh materialized view DCS_BIZ.MV_TMP_16
解决方案:
create materialized view MV_TMP_16
refresh fast on demand
start with to_date('14-02-2014 17:03:16', 'dd-mm-yyyy hh24:mi:ss') next SYSDATE+ 3/1440
enable query rewrite
as
select SO.rowid arowid, CO.rowid browid, SO.ID,so.name, CO.Pid,co.id as co_id
from tmp_mv1 SO, tmp_mv2 CO
where SO.ID= CO.pid;
refresh fast on demand
start with to_date('14-02-2014 17:03:16', 'dd-mm-yyyy hh24:mi:ss') next SYSDATE+ 3/1440
enable query rewrite
as
select SO.rowid arowid, CO.rowid browid, SO.ID,so.name, CO.Pid,co.id as co_id
from tmp_mv1 SO, tmp_mv2 CO
where SO.ID= CO.pid;
注:这里必须要加上rowid,否则就会报错