是的,如果查询视图,它将在它所基于的表中反映更改的数据.
我读了这些答案,它让我质疑视图是如何工作的,所以我做了一些研究,找到了支持的内容,但也添加到了列出的答案中,所以我想将其添加到锅中.
我的参考资料来源于底部的*#定义.
有不同类型的观点,他们有不同类型的行为.有些是存储的,然后经常更新,而另一些则根本不存储,而是动态计算.
"视图是一个虚拟表,其内容由查询定义……除非已编制索引,否则视图在数据库中不作为存储的数据值集存在."*1.
"与永久表不同,视图没有数据的物理表示形式,除非您在其上创建索引.每当您对无索引视图发出查询时,SQL Server实际上必须访问基础表.除非另有规定……"*1.
因此,调用时会计算非索引视图.
"索引视图是已具体化的视图.这意味着已计算视图定义,并将结果数据像表一样存储."*2.
在存储索引视图时,它们不太适合经常更新的表,因为它们需要不断更新materialized 数据及其索引.
在这两种情况下,索引视图或非索引视图都反映了它们引用的表中的更改,这些更改是在调用视图时进行的,或者是在基于是否索引进行更改时进行的.
工具书类
*1.Microsoft SQL Server 2008内部T-SQL编程由Microsoft出版社出版版权所有2010
*2 https://docs.microsoft.com/en-us/sql/relational-databases/views/views?view=sql-server-ver15