假设我有两个表Employee和Locations。另外,我有一个viewEmpLocation视图,该视图是通过将Employee和Locations联合而成的。
如果更新视图,原始表中的数据是否会更新?
请参见在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 也可以通过一个视图插入或更新数据,这样,除非指定了WITH CHECK OPTION,否则无法再通过该视图访问数据。
通过视图修改数据时(即使用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
也可以通过一个视图插入或更新数据,这样,除非指定了WITH CHECK OPTION,否则无法再通过该视图访问数据。