При создании материализованного представления с оператором on я получаю ошибку ниже.
ORA-32428: on-statement materialized join view error: Shape of MV is not supported 32428. 0000 - "on-statement materialized join view error: %s" *Cause: An error related to on-statement materialized join view was received. *Action: Refer to the error message for more information.
Я использую версию Oracle 21c.
Вот что я сделал
CREATE TABLE "TBL1" (
"COL1" VARCHAR2(20 BYTE),
"COL2" VARCHAR2(20 BYTE),
"COL3" VARCHAR2(20 BYTE),
"COL4" NUMBER
;
create MATERIALIZED view log on tbl1 with rowid;
create materialized view mv3
build DEFERRED
refresh fast with rowid
on statement
enable query rewrite
as
select rowid rid, COL1,COL2 from tbl1;





Из документов
«Базовые таблицы, на которые ссылается определяющий запрос материализованного представления, должны быть соединены в граф соединения, который использует модель схемы «звезда» или «снежинка». Запрос должен содержать ровно одну централизованную таблицу фактов и одну или несколько таблиц измерений со всеми парами соединенных таблиц. быть связанными с использованием ограничений первичного ключа и внешнего ключа».
например
SQL> create table par ( p int primary key, d date);
Table created.
SQL> create table chd ( c int primary key, p int references par (p), d1 date);
Table created.
SQL>
SQL> create materialized view log on par with rowid;
Materialized view log created.
SQL> create materialized view log on chd with rowid;
Materialized view log created.
SQL>
SQL> create materialized view mv3
2 refresh fast with rowid
3 on statement
4 enable query rewrite
5 as
6 select c.rowid rid, p.p, p.d, c.c, c.d1
7 from par p, chd c
8 where p.p = c.p;
Materialized view created.
при включении приведенного ниже оператора необходимо следовать 1. Он должен содержать более одной таблицы 2. Все таблицы должны быть связаны с первичным ключом и внешним ключом. 3. Соединение должно выполняться со столбцами, имеющими первичный ключ. Это мое понимание, поправьте меня, если я ошибаюсь [мне очень сложно понять из документации], а также что это означает: «Запрос должен содержать ровно одну централизованную таблицу фактов и одну или несколько таблиц измерений»