Oracle: обновлять таблицу до другого - PullRequest
0 голосов
/ 09 января 2020

Мы используем Oracle базу данных, и теперь я столкнулся с проблемой.

Нам нужно скопировать подмножество столбцов из таблицы A в новую таблицу B:

Table A
Name|Birth Date|Location|Office

Table B
Name|Location

И таблица А будет меняться довольно часто (несколько раз в месяц). И этим управляет другая команда.

Как лучше синхронизировать таблицу B с таблицей A?

Большое спасибо.

1 Ответ

3 голосов
/ 09 января 2020

Вместо новой таблицы - представьте себе представление или материализованное представление .

Представление даже не займет никакого места, это просто сохраненный query:

create or replace view v_b as
  select name, location
  from some_user.table_a;

Было бы всегда быть "синхронизированным", вы бы сразу увидели все зафиксированные данные, принадлежащие some_user.

Материализованное представление занимает space, действует так, как если бы это была другая таблица - вы даже можете создавать индексы для нее. Установите для него значение refre sh по расписанию (например, каждую ночь) или по требованию или всякий раз, когда some_user фиксирует изменения, внесенные в их table_a.

На вашем месте я бы не стал создать другую таблицу; (материализованное) представление представляется более подходящим решением.

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