细化解析:什么样的情况下 可以更新数据
来源:岁月联盟
时间:2007-10-26
1.通常,可以根据下节中所述的查询限制对视图进行更新。不过,在 SQL Server 2000 数据库中,可以在 CREATE VIEW SQL 语句中添加 WITH VIEW_METADATA 子句(在“视图”属性页中选中“使用视图规则更新”复选框)。该子句允许对分区视图进行更新,但受到某些限制,还允许使用 INSTEAD OF 触发器让视图可更新。有关可更新视图的详细信息,请参见 SQL Server 文档中的 CREATE VIEW TRANSACT-SQL 语句。
2.基于一对一关系的查询。
3.基于一对多关系的查询。不过,根据 SQL Server 版本的不同将会有一些重要的差别。
SQL Server 2000 数据库可以更新联接中的任何表,因为 Access 自动检测关系中的唯一表(联接的“多”方)。
SQL Server 7.0 和 6.5 数据库可以在窗体和页中更新基于一对多联接的数据,但这只是对唯一表中的字段而言的。当在“数据表”视图中打开包含联接的查询时,默认情况下它是只读的。不过如果设置窗体的 UniqueTable 属性(参见下面的讨论),则可以更新窗体中的数据。
◆基于自联接的查询。
◆基于 SQL Server 的链接服务器的链接表(如果 OLE DB 数据源允许)。
◆UNION 分区视图(仅对 SQL Server 2000)。 (责任编辑:卢兆林)