问题描述
我使用 VS 2017 创建了 DB 项目。我未将 [dbo].[Engagements] 表添加到此 DB 项目中,因为 [dbo].[Engagements] 表是另一个数据库项目。 现在我添加了以下视图并将错误标记为
错误 sql71501:视图:[dbo].[View_Engagements] 有一个未解析的对对象 [dbo].[Engagements] 的引用
CREATE VIEW [dbo].[View_Engagements]
AS
SELECT E.Id FROM [dbo].[Engagements] E
GO
任何帮助将不胜感激。
解决方法
错误不言自明,您不能引用不存在的表。这个视图应该是同一个项目的一部分?
解决方法(如果您确实需要)是创建表,创建视图,然后删除表。这当然会使视图无效,但当其他项目创建基表时它应该可以工作。
create table Engagements (Id int)
GO
create view View_Engagements....
GO
drop table Engagements
GO
,
无论表在任何地方,您都需要在视图中写入源名称: databasename.schema.tablename 和在链接服务器的情况下: 链接服务器名称.数据库名称.schema.tablename。 所以你需要更新视图脚本。