可更新的视图 - SQL Server 2008

Maj*_*ons 12 views sql-server-2008

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

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

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

Den*_*len 12

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

这是一个例子:设计INSTEAD OF触发器


HLG*_*GEM 11

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

  • 但是,如果更新的字段来自不同的基础表,则无法工作.这就是从视图更新没有用的原因. (2认同)