Originally posted by slimdave
Why rowid and not primary key, if I may ask?
Because

Code:
SQL> create MATERIALIZED VIEW LOG ON emp   WITH primary key;

Materialized view log created.

SQL> create MATERIALIZED VIEW LOG ON dept   WITH primary key;

Materialized view log created.

SQL> CREATE MATERIALIZED VIEW emp_dep
TABLESPACE    users
STORAGE (     INITIAL 1M NEXT 1M PCTINCREASE 0 )
REFRESH fast   
AS
select  e.empno,e.deptno,e.name,d.deptname,d.deptno ddeptno
from emp    e ,dept d
where e.deptno = d.deptno;
from emp e ,dept d
     *
ERROR at line 7:
ORA-12052: cannot fast refresh materialized view THOMAS.EMP_DEP


SQL> CREATE MATERIALIZED VIEW emp_dep
TABLESPACE users
STORAGE ( INITIAL 1M NEXT 1M PCTINCREASE 0 )
REFRESH fast   
AS
select e.empno,e.deptno,e.name,d.deptname,d.rowid drid,e.rowid erid,d.deptno ddeptno
  from emp e ,dept d
where e.deptno = d.deptno;
from emp e ,dept d
     *
ERROR at line 7:
ORA-12032: cannot use rowid column from materialized view log on
"THOMAS"."DEPT"
If I can use Primary key for JOIN based M. Views, can you please correct me where I am wrong? Many Thanks

Thomas