Oracle APEX интерактивная сетка не изменяется при изменении базового материализованного представления - PullRequest
1 голос
/ 27 января 2020

У меня есть интерактивная сетка на основе материализованного представления. Запрос очень прост SELECT * FROM MY_MATERIALIZED_VIEW. Я добавил несколько столбцов в материализованное представление и обновил его. Затем я обновил страницу APEX, но новые столбцы не отображаются. Есть ли что-то, что я делаю неправильно, или мне нужно вручную добавить эти столбцы в сетку на стороне APEX и выбрать источник в качестве столбца базы данных?

1 Ответ

2 голосов
/ 27 января 2020

Насколько я могу судить, это второй вариант, который вы упомянули. Apex использует «старое» материализованное определение представления для страницы и ничего не знает о внесенных вами изменениях. Он отображает старый макет. Тем не менее, будет прерываться, если вы добавите столбец NOT NULL и попытаетесь сохранить вновь добавленную строку в текущую сетку.

Итак, да - вам придется добавить эти столбцы вручную , Или, если интерактивная сетка достаточно проста (т. Е. Вы не сделали много изменений), возможно, было бы проще удалить этот регион и создать новый с помощью мастера.


Как прокомментировал Патрик (лучше оставить его здесь, чем в комментарии), самые новые (18x и выше) версии Apex предлагают хороший вариант: синхронизировать столбцы , доступные в контекстном меню при щелчке правой кнопкой мыши по узлу интерактивной сетки. Он добавит новые столбцы в интерактивную сетку, поэтому вам не нужно заново создавать регион.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...