Невозможно создать материализованное представление с предложением «по оператору»

При создании материализованного представления с оператором 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;
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
130
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Из документов

«Базовые таблицы, на которые ссылается определяющий запрос материализованного представления, должны быть соединены в граф соединения, который использует модель схемы «звезда» или «снежинка». Запрос должен содержать ровно одну централизованную таблицу фактов и одну или несколько таблиц измерений со всеми парами соединенных таблиц. быть связанными с использованием ограничений первичного ключа и внешнего ключа».

например

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. Соединение должно выполняться со столбцами, имеющими первичный ключ. Это мое понимание, поправьте меня, если я ошибаюсь [мне очень сложно понять из документации], а также что это означает: «Запрос должен содержать ровно одну централизованную таблицу фактов и одну или несколько таблиц измерений»

Erik 22.02.2024 18:52

Другие вопросы по теме