Обновляемые представления - SQL Server 2008 - PullRequest
12 голосов
/ 05 октября 2010

Вопрос об обновляемых представлениях БД: я читаю некоторую документацию MSDN по этой теме и сталкиваюсь со следующим ограничением:

Любые модификации, включая операторы UPDATE, INSERT и DELETE, должен ссылаться на столбцы только из одной базовой таблицы.

Я просто хочу быть уверен, что понимаю ограничение.Я хотел бы использовать представления в нескольких моих проектах обзора СМИ.Реляционные данные распределены по таблицам, но представление, по-видимому, является лучшим способом для объединения необходимых мне данных из нескольких таблиц (некоторые из которых связаны через внешние ключи) в централизованное расположение.Поскольку столбцы могут быть из разных таблиц, означает ли это, что я не могу запустить один общий INSERT или UPDATE, чтобы сохранить изменения во всех столбцах?

Ответы [ 2 ]

12 голосов
/ 26 июля 2011

Вы можете использовать триггер INSTEAD OF для представления, чтобы приложение работало только с представлением, а не с коллекцией базовых таблиц, на которые ссылается представление.

Вот пример: Проектирование триггеров INSTEAD OF

11 голосов
/ 06 октября 2010

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

...