我通过从现有数据库导入架构来创建数据库项目。在这个项目中,我创建了将数据与另一个数据库合并的存储过程.我的问题是,我从引用的数据库中得到了大量的警告。下面我将包括截图和违规程序。
存储过程
CREATE PROCEDURE [dbo].[GetContact]
@ContactID [int]
AS
BEGIN
SET NOCOUNT ON;
SELECT
FirstName = COALESCE(a.FirstName, b.first_name),
LastName = COALESCE(a.LastName, b.last_name),
Organization = COALESCE(a.Organization, b.company),
LanguageTypeID = COALESCE(a.LanguageTypeID, (CASE WHEN b.default_language = 'Spanish' THEN 3 ELSE 2 END))
FROM [dbo].[Contact] AS a
FULL OUTER JOIN [OldDB].[dbo].[contacts] AS b
ON a.ContactID = b.contact_identification_number
WHERE a.ContactID = @ContactID
ENDVisual
模式资源管理器

错误列表

Warning 12 SQL04151: Procedure: [dbo].[GetContact] contains an unresolved reference to an object. Either the object does not exist or the reference is ambiguous because it could refer to any of the following objects: [dbo].[Contact].[b]::[Default_Language], [*].[dbo].[Students].[b]::[Default_Language] or [*].[dbo].[Students].[Default_Language]. c:\users\*\documents\visual studio 2010\projects\TED\TED\Schema Objects\Schemas\dbo\Programmability\Stored Procedures\dbo.GetContact.proc.sql 21 52 TED对于如何引用另一个模式来消除这些警告,我有什么想法吗?这样我就可以专注于实际问题了?
发布于 2011-11-22 13:50:09
您的数据库项目不知道服务器的其他数据库,比如"OldDB“。应在“项目属性”中定义数据库交叉引用。参见这里的解释:http://publicityson.blogspot.com/2009/11/using-database-project-cross-database.html
https://stackoverflow.com/questions/7342203
复制相似问题