一尘不染

如果我更新视图,我的原始表是否会更新

sql

假设我有两个表Employee和Locations。另外,我有一个viewEmpLocation视图,该视图是通过将Employee和Locations联合而成的。

如果更新视图,原始表中的数据是否会更新?


阅读 588

收藏
2021-03-17

共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

也可以通过一个视图插入或更新数据,这样,除非指定了WITH CHECK OPTION,否则无法再通过该视图访问数据。

2021-03-17