Я хотел бы использовать материализованное представление, которое обновляет ON COMMIT
. Мое резервное представление объединяет две таблицы в локальной базе данных и одну таблицу в удаленной базе данных через DB Link. Как я могу обновить представление только при внесении изменений в одну из двух локальных таблиц?
Есть ли другие способы решения этой проблемы? Могу ли я просто соединить материализованное представление с двумя локальными таблицами и поместить NULL для столбцов из удаленной базы данных, а затем получить триггер на вставку / обновление материализованного представления, которое заполнит эти поля? Или обновления материализованного представления распространяются обратно на исходные таблицы?
Я делаю примерно так:
SELECT LOC1.ID, LOC1.NAME, LOC2.PRICING_TYPE, REM1.PURCHASING_ID
FROM LOCAL_TABLE_A LOC1, LOCAL_TABLE_B LOC2, [email protected] REM1
WHERE LOC1.ID = LOC2.MASTER_ID
AND LOC1.REM_ID = REM1.ID
AND LOC2.YEAR = REM1.YEAR
REMOTE_TABLE
- это только таблица поиска для информации, относящейся к двум локальным таблицам. Он не должен ничего здесь приводить, и я хочу, чтобы материализованное представление обновлялось только при LOCAL_TABLE_A
ИЛИ LOCAL_TABLE_B
ИЗМЕНЕНИИ.