关于自链接的视图的更新

首先要知道对视图的更新,常用的方法是设置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.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.data.ado&tid=0a5fe334-16a3-4154-8dd1-c7f2711719d7&cat=en_us_59d23693-0948-4ea5-a8cb-876020367eec&lang=en&cr=us&sloc=&p=1

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.部门编号

注意,第二个部门档案我用[]来括起来,还加上一个空格

原文地址:https://www.cnblogs.com/yzx99/p/1326627.html