特定的分区可以
在下列情况中,视图被视为可更新的分区视图:
- 视图是一组 SELECT 语句,这些语句的结果集通过 UNION ALL 语句组合为一个结果集。每个 SELECT 语句引用一个 SQL Server 基表。该表可以是本地表,也可以是使用 4 部分名称、OPENROWSET 函数或 OPENDATASOURCE 函数引用的链接表(不能使用 OPENDATASOURCE 或 OPENROWSET 函数指定直接传递式查询)。
INSERT 语句通过分区视图将数据添加到成员表中。INSERT 语句必须遵守下列规则:
- 所有列必须包含在 INSERT 语句中,即使基表中的列可能为 NULL 或在基表中定义了 DEFAULT 约束。
- 不能在 INSERT 语句的 VALUES 子句中指定 DEFAULT 关键字。
- INSERT 语句提供的值必须符合在一个成员表的分区列上定义的 CHECK 约束逻辑。
- 如果一个成员表包含具有标识属性的列,则不能使用 INSERT 语句。
- 如果一个成员表包含 timestamp 列,则不能使用 INSERT 语句。
- 如果存在具有同一视图或任一成员表的自联接,则不能使用 INSERT 语句。
UPDATE 语句通过分区视图在一个或多个成员表中修改数据。UPDATE 语句必须遵守下列规则:
- UPDATE 语句不能在 SET 子句中将 DEFAULT 关键字指定为值,即使列在相应的成员表中定义了 DEFAULT 值。
- 不能更改具有标识属性的列的值;不过可以更新其它列。
- 如果列中包含 text、image 或 ntext 数据,则不能更改 PRIMARY KEY 的值。
- 如果基表中包含 timestamp 列,则不能进行更新。
- 如果存在具有同一视图或成员表的自联接,则不能进行更新。
- 不能在 UPDATE 语句的 SET 子句中指定 DEFAULT 关键字。
DELETE 语句通过分区视图在一个或多个成员表中删除数据。DELETE 语句必须遵守如下规则:
- 如果存在具有同一视图或任一成员表的自联接,则不能使用 DELETE 语句。
分类: SQL
本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2012/09/10/2678338.html,如需转载请自行联系原作者