Vai*_*ain 31 sql t-sql sql-server sql-server-2005 views
假设我有两个表Employee和Locations.另外,我有一个视图viewEmpLocation,它是通过加入Employee和Locations来实现的.
如果我更新视图,原始表中的数据是否会更新?
KM.*_*KM. 24
通过视图修改数据(即使用INSERT或UPDATE语句)时,根据视图类型存在某些限制.访问多个表的视图只能修改视图中的一个表.可能无法更新使用函数,指定DISTINCT或使用GROUP BY子句的视图.此外,以下类型的视图禁止插入数据:
Run Code Online (Sandbox Code Playgroud)* 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,否则还可以通过视图插入或更新数据,以便不再通过该视图访问数据.
Lar*_*tig 19
是.
视图中的"数据"不存在独立于构成视图的表的存在.该视图本质上是一个存储的SELECT语句,伪装成一个表.数据存储在原始表中,只有在您想要查看时才"组装"到视图中.如果视图是可更新的(并非所有视图都是),则更新将应用于表数据.
您可以在视图上使用触发器对实际表进行插入/更新/删除。
http://www.devarticles.com/c/a/SQL-Server/Using-Triggers-In-MS-SQL-Server/1/