要点:创建增量刷新的物化视图首选要基于基表的rowid创建视图日志,视图中的查询语句中要有每张基表的rowid字段。

1、--创建增量刷新的物化视图
--前提是必须创建物化视图日志:记录基表发生了哪些变化,用这些记录去更新物化视图
create materialized view log on t_address with rowid
create materialized view log on t_area with rowid
--创建物化视图中的语句,必须有基表的rowid
create materialized view mv_address4
refresh fast 
as
select ad.rowid adrowid,ar.rowid arrowid,ad.id,ad.name,ar.name arname
from t_address ad,t_area ar
where ad.areaid=ar.id

2、--查询物化视图
select * from mv_address4;
--向基表插入数据
insert into t_address values(13,'西8旗',2,2);
commit;
--向基表插入数据
insert into t_address values(14,'西9旗',2,2);
commit;
--删除数据
delete from t_address where id=14;
commit;

3、--执行刷新语句
begin
  DBMS_MVIEW.refresh('MV_ADDRESS4','C');
end;