использование представлений, абстрагирование реальных таблиц, обновление нескольких таблиц с использованием представлений - PullRequest
1 голос
/ 09 марта 2011

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

но так как представление не может быть использовано для изменения нескольких таблиц. так какое решение для этого?

мне нужно создать 3 отдельных вида и запустить:

Insert into View1 values()
Insert into View2 values()
Insert into View3 values()

1 Ответ

4 голосов
/ 09 марта 2011

Если вы хотите обновить несколько таблиц из одного представления, вам, вероятно, придется создать один или несколько * INSTEAD OF триггеров в представлении. Затем вы можете использовать псевдотаблицы inserted и deleted для создания вставки / обновления / удаления, которые должны применяться к каждой из базовых таблиц.

* Если есть много общего между тем, что вы делаете для вставки и обновления в представлении, я бы порекомендовал один триггер для обоих. Если операции совсем другие, я бы рекомендовал держать триггеры отдельно.

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