还忘了说,username ,fullname 在我的表中名称都是唯一的,没有重名。发完才发现文字全挤在了一起,重排个版,再发一次吧。我比较习惯于使用视图,一直以来都没什么问题,可以今天突然发现在企业管理器中做视图时总是会自动增加上别名expr1,expr2等名字。 我反复试了许久,发现如果我的视图是这样的 SELECT dbo.users.username, dbo.users.fullname, dbo.prj.* FROM dbo.prj LEFT OUTER JOIN dbo.users ON dbo.prj.userid = dbo.users.userID 那么就不会有任何问题,保存,打开都会保持原样,可是如果做出来的视图是这样的 SELECT dbo.prj.*, dbo.users.username, dbo.users.fullname FROM dbo.prj LEFT OUTER JOIN dbo.users ON dbo.prj.userid = dbo.users.userID 也就是红色部分换了个位置,保存,然后再打开,视图就会自动变成 SELECT dbo.prj.*, dbo.users.username AS Expr1, dbo.users.fullname AS Expr2 FROM dbo.prj LEFT OUTER JOIN dbo.users ON dbo.prj.userid = dbo.users.userID 可是以前一直都很好,不知道为什么。 现在我以前的视图根本不管改,因为一但打开,所有特别选定的字段就全变成expr1,expr2...等形式,我要一个个删除了别名才能保存,真的要郁闷死...
没遇到过,猜测是不是username,fullname和[users]中字段名重复?
create view v_test as SELECT dbo.prj.*, dbo.users.username as username, dbo.users.fullname as fullname FROM dbo.prj LEFT OUTER JOIN dbo.users ON dbo.prj.userid = dbo.users.userID
是不是prj表最近有追加删除字段的情况存在啊?
应该就是这个的原因了。经过反复测试,系统自动加 AS EXPR1字样的唯一原因就是存在重名的列,跟dbo.prj.*毫无关系。
晚上回家又测试了一下,一样的XP系统,一样的SQL SERVER 2000,同样的表,可是没有任何问题。 看来还是SQL SERVER的原因了。明天把SQL SERVER重装一下再试试看。想起来了,在单位里这两天测试了一下远程链接服务器,连接过另外一台机子同样的数据库,但后来又删了,不知道和这个有没有关系!!??似乎就是加入链接服务器后就出了问题,但我后来删除了链接服务器后问题还是存在........
dbo.users ON dbo.prj.userid = dbo.users.userID 那么就不会有任何问题,保存,打开都会保持原样,可是如果做出来的视图是这样的 SELECT dbo.prj.*, dbo.users.username, dbo.users.fullname
FROM dbo.prj LEFT OUTER JOIN
dbo.users ON dbo.prj.userid = dbo.users.userID 也就是红色部分换了个位置,保存,然后再打开,视图就会自动变成
SELECT dbo.prj.*, dbo.users.username AS Expr1, dbo.users.fullname AS Expr2 FROM dbo.prj LEFT OUTER JOIN
dbo.users ON dbo.prj.userid = dbo.users.userID 可是以前一直都很好,不知道为什么。 现在我以前的视图根本不管改,因为一但打开,所有特别选定的字段就全变成expr1,expr2...等形式,我要一个个删除了别名才能保存,真的要郁闷死...
as
SELECT dbo.prj.*, dbo.users.username as username, dbo.users.fullname as fullname
FROM dbo.prj LEFT OUTER JOIN
dbo.users ON dbo.prj.userid = dbo.users.userID
看来还是SQL SERVER的原因了。明天把SQL SERVER重装一下再试试看。想起来了,在单位里这两天测试了一下远程链接服务器,连接过另外一台机子同样的数据库,但后来又删了,不知道和这个有没有关系!!??似乎就是加入链接服务器后就出了问题,但我后来删除了链接服务器后问题还是存在........