日期:2014-05-18  浏览次数:20485 次

请帮我看看这个视图怎么写?
CREATE   VIEW   dbo.vmaterialrequestANDContrast
AS
SELECT   dbo.materialrequest.*,   ISNULL(dbo.materialrequestContrast.ModifyDate,  
            dbo.materialrequest.InputDate)   AS   ModifyDate
FROM   dbo.materialrequest   LEFT   OUTER   JOIN
            dbo.materialrequestContrast   ON  
            dbo.materialrequest.MaterialRequestID   =   dbo.materialrequestContrast.MaterialRequestID


现在dbo.materialrequestContrast这个表在本地,dbo.materialrequest这个表在另一个服务器SERV1的数据库AA中,所以这个视图是跨数据库读取数据的,我把dbo.materialrequest这个表的前缀加上   SERV1.AA.dbo.materialrequest   但是SQLSERVER报错说“SERV1.AA.dbo.materialrequest   ”包含的前缀超过最大值,最大值为3。请问:要实现这个跨服务器的视图应该怎么写??

------解决方案--------------------
建链接服务器连接SERV1,查询时使用链接服务名.dbo.表名
------解决方案--------------------

from SERV1.AA.dbo.materialrequest as a--用别名的方式