首先要知道对视图的更新,常用的方法是设置Unique Table与Resync Command
相关试验可以看这里:
http://topic.csdn.net/t/20060404/00/4660808.html
但如果是一个表自链接(self-join或self-ref)时,就有问题了,如一个部门档案表,有如下字段,部门编号,部门名称,上级部门编号,建立一个视图,形成这样的内容:部门编号,部门名称,上级部门编号,上级部门名称
select t1.部门编号,t1.部门名称,t1.上级部门编号,t2.部门名称 as 上级部门名称 from 部门档案 t1 left join 部门档案 t2 on t1.上级部门编号=t2.部门编号
这时,设置Unique Table就有问题了,设为部门档案,系统就不知道是指前一个,还是后一个.
以下两篇文章都有说这个问题:
http://www.tech-archive.net/Archive/Data/microsoft.public.data.ado/2004-12/0147.html
特别感谢后者,所提供了一种"意外"情况,让我想到建立这样的视图就可以让程序正常跑了,
select t1.部门编号,t1.部门名称,t1.上级部门编号,t2.部门名称 as 上级部门名称 from 部门档案 t1 left join [部门档案 ] t2 on t1.上级部门编号=t2.部门编号
注意,第二个部门档案我用[]来括起来,还加上一个空格