Вставка в таблицу из Oracle View

У меня есть представление, которое динамически возвращает значения из разных таблиц. Мне нужно было вставить или удалить в какую-либо таблицу из этого представления, всякий раз, когда представление добавляет или уменьшает данные. Должен ли я использовать хранимую процедуру или что-то подобное

1 ответ

Как уже говорилось @MichaelBroughton, представление физически не хранит данные, а представление не знает, когда изменяются его базовые данные.

Я предлагаю вам подумать о создании триггеров на базовых таблицах и позволить этим триггерам обрабатывать обновления целевой таблицы. Если это применимо в вашем контексте, вы, конечно, можете иметь несколько триггеров, каждый из которых выполняет одну и ту же хранимую процедуру, в которой выполняется распространение данных.

Матриализированное представление также может быть решением, поскольку вы можете просто создать триггер для этого представления, но за счет фактического хранения всех данных, которые предоставляет ваше представление.

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