如果我JOIN
或CROSS APPLY
两个表并创建一个VIEW
,当我更新这两个表中的任何一个时, View 是否会自动更新表或我向其中任何一个添加记录?
这些新记录会显示在VIEW
中吗?
最佳答案
是的,每次您使用它们时,它们都会更新。
我认为 Microsoft 非常清楚地总结了 View 的含义:
A view can be thought of as either a virtual table or a stored query.
http://msdn.microsoft.com/en-us/library/aa214068%28v=sql.80%29.aspx
View 不会自动缓存。
当您从 View 中SELECT
时,数据库必须运行 View 中存储的查询以获取要在语句中使用的结果集
您在 View 中“看到”的数据实际上并不存储在任何地方,而是从动态表中生成的。
因此,运行非常复杂的 View 时要小心。始终考虑到必须在访问其结果集之前执行 View 。
关于sql - View 是否自动更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38702120/