2010-10-06 6 views
1

Я хотел бы использовать материализованное представление, которое освежает ON COMMIT. Мой резервный просмотр объединяет две таблицы в локальной базе данных и одну таблицу в удаленной базе данных через DB Link. Как я могу обновить представление только при внесении изменений в одну из двух локальных таблиц?Могу ли я обновить материализованное представление при фиксации только для двух из трех таблиц в его выборе?

Есть ли другие способы решения этой проблемы? Могу ли я, чтобы материализованное представление просто присоединилось к двум локальным таблицам и поместило NULLS для столбцов из удаленной базы данных, а затем у вас есть триггер для вставки/обновления в материализованное представление, которое заполнило бы эти поля? Или обновления материализованного представления распространяются обратно на исходные таблицы?

Я делаю что-то вроде этого:

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 ИЗМЕНИТЬ.

ответ

4

Вы можете использовать промежуточный материализованный вид для удаленной таблицы. Этот MV будет создан в вашей локальной базе данных с REFRESH ON DEMAND, чтобы вы могли обновить его вручную. Ваш MV будет использовать локальную таблицу вместо удаленной таблицы.

 Смежные вопросы

  • Нет связанных вопросов^_^