Подтвердить что ты не робот

Если я обновляю представление, обновятся ли мои исходные таблицы

Гипотетически у меня есть две таблицы Employee and Locations. Кроме того, у меня есть view viewEmpLocation, который создается путем соединения Employee и Locations.

Если я обновляю представление, будут ли обновляться данные в исходной таблице?

4b9b3361

Ответ 1

см. Использование представлений в Microsoft SQL Server

При изменении данных через представление (то есть, используя INSERT или UPDATE заявления) существуют определенные ограничения в зависимости от типа вида. Просмотры доступ к нескольким таблицам может измените одну из таблиц в представлении. Представления, которые используют функции, указывают DISTINCT, или используйте GROUP BY может не обновляться. Кроме того, вставка данных запрещено для следующих типов просмотров:

* views having columns with derived (i.e., computed) data in the SELECT-list  
* views that do not contain all columns defined as NOT NULL from the tables from which they were defined

Можно также вставить или обновлять данные с помощью данные больше не доступны через этот взгляд, если только CH CHECK ОПЦИЯ указана.

Ответ 2

Да.

Данные "в" представлении не существуют независимо от таблиц, составляющих представление. Представление - это, по сути, хранимый оператор SELECT, который маскируется как таблица. Данные хранятся в исходных таблицах и только "собраны" в представление, когда вы хотите посмотреть на него. Если представление обновляется (не все представления), обновления применяются к данным таблицы.