可更新的视图 - SQL Server 2008

时间:2010-10-05 17:39:55

标签: sql-server-2008 views

关于可更新数据库视图的问题:我正在阅读有关该主题的一些MSDN文档,我遇到了以下限制:

  

任何修改(包括UPDATE,INSERT和DELETE语句)都必须仅引用一个基表中的列。

我只是想确定我理解这个限制。我想在几个媒体评论项目中使用观点。关系数据遍布整个表,但视图似乎是能够将我需要的数据从多个表(其中一些通过外键链接)整合到一个集中位置的最佳方式。由于列将来自各种表,这是否意味着我无法运行一个毯子INSERT或UPDATE来保留所有列中的更改?

2 个答案:

答案 0 :(得分:12)

您可以在视图上使用INSTEAD OF触发器,以使应用程序仅处理视图而不是视图引用的基表集合。

以下是一个示例:Designing INSTEAD OF Triggers

答案 1 :(得分:11)

是的,这意味着什么。我认为通过视图更新没有任何好处,因为你必须知道所涉及的基表是什么。