我们可以更新视图中的真实数据吗?

Jag*_*z W 4 sql-server sql-server-2008

由于我是sql server的新手,所以我的问题是

  1. 我们可以更新视图吗?

  2. 我们可以更新视图中的真实表数据吗?

mal*_*wan 5

如果更新视图,则实际上将在更新基础表。视图不是物理的,只是其下数据的表示。

在大多数情况下,只要将它们设置为迎合UPDATE,就可以通过VIEWS执行UPDATE语句(您可以在此处阅读有关为UPDATE启用视图的更多信息:http : //msdn.microsoft.com/zh-cn/library/25614805 (v = vs.80).aspx),但这样做通常被认为不尽人意。它使事情变得非常复杂,因此您必须有充分的理由这样做。

  • 我的理论是,由于您一次只能在一个视图中更新一个表,因此您需要知道哪个字段视图在哪个表中,所以不直接更新表就没有意义。例外情况是使用视图将用户限制为一个表中数据的子集时。然后,有必要通过视图进行更新。 (2认同)