sql - View 是否自动更新

标签 sql view

如果我JOINCROSS 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/

相关文章:

java - 是否可以在 mybatis "select"中使用临时变量?

ruby-on-rails-3 - 尝试呈现局部变量时,局部变量始终为零

css - Ember.js 模板和全高(包括 JS bin 示例)

ios - 如何在没有按钮的情况下以编程方式显示 SwiftUI View

java - 从数据库中检索图像并显示在标签中

sql - 获取存储过程的源代码控制

MySQL - 慢速查询优化

python - 对不存在的数组使用 numpy View

cakephp 并创建一个移动网站

python - Pandas to_sql 无法写入 PostgreSQL 上除 'public' 之外的模式