高速更新を有効にするのは難しいです。多くの奇妙な制限と役に立たないエラー メッセージがあります。この場合、マテリアライズド ビュー ログを作成し、結合構文をWITH ROWID
使用して、各テーブルに を追加する必要があります。(+)
ROWID
create table tablea(my_id number primary key, a number);
create table tableb(my_id number primary key, b number);
create materialized view log on tablea with rowid;
create materialized view log on tableb with rowid;
create materialized view mv_myview refresh fast on commit as
select a.my_id, a.a, b.b, a.rowid a_rowid, b.rowid b_rowid
from tableA a, tableB b
where a.my_id = b.my_id(+)
and b.My_id IS NULL;
insert into tablea values(1, 1);
commit;
select * from mv_myview;
MY_ID A B A_ROWID B_ROWID
----- - - ------- -------
1 1 AAAUH3AAEAAC+t0AAA