打印本文 打印本文 关闭窗口 关闭窗口
对MSsql Server的view使用instead of trigger进行视图更新
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2986  更新时间:2007/11/14 12:58:21  文章录入:mintao  责任编辑:mintao
子句至少引用一个表。select_statement 必须不仅只包含非表格格式的表达式(即不是从表派生出的表达式)。例如,以下视图是不可更新的:

CREATE VIEW NoTable AS

SELECT GETDATE() AS CurrentDate,

       @@LANGUAGE AS CurrentLanguage,

       CURRENT_USER AS CurrentUser

 

INSERTUPDATE DELETE 语句在可以引用可更新视图之前,也必须如上述条件指定的那样满足某些限制条件。只有当视图可更新,并且所编写的 UPDATE INSERT 语句只修改视图的 FROM 子句引用的一个基表中的数据时,UPDATE INSERT 语句才能引用视图。只有当视图在其 FROM 子句中只引用一个表时,DELETE 语句才能引用可更新的视图。

 

分区视图比较麻烦,本文采用INSTEAD OF 触发器的方法解决!

我的实验如下:先建立两个表Table1Table2。表结构分别如下:

备注:

1,  其中Table2中的d字段为自动性,步长为默认值1

2,  Table1中的a字段为自动性,步长为默认值1

 

然后,建立视图VIEW1

SELECT dbo.Table2.d, dbo.Table2.e, dbo.Table1.b, dbo.Table1.c

FROM dbo.Table2 INNER JOIN

      dbo.Table1 ON dbo.Table2.a = dbo.Table1.a

显然,该视图包含字段d,e,b,c四个字段

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口