相关疑难解决方法(0)

未解析的对象引用[INFORMATION_SCHEMA].[TABLES]

我创建了一个访问[INFORMATION_SCHEMA].[TABLES]视图的UDF :

CREATE FUNCTION [dbo].[CountTables]
(
    @name sysname
)
RETURNS INT
AS
BEGIN
    RETURN
    (
        SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @name
    );
END
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中,视图的模式和名称都标有警告:

SQL71502:函数:[dbo].[CountTables]有一个未解析的对象[INFORMATION_SCHEMA]的引用.[TABLES].

我仍然可以毫无问题地发布数据库项目,并且UDF似乎确实正确运行.IntelliSense为我填充了视图的名称,因此它似乎没有问题.

我也尝试将实现更改为使用sys.objects而不是使用此视图,但我也对此视图给出了相同的警告.

我该如何解决此警告?

sql t-sql sql-server sql-server-data-tools

90
推荐指数
2
解决办法
5万
查看次数

SSDT 项目中带有 UDF 和视图的数据库参考

遇到一个奇怪的问题。假设一个空解决方案中有两个数据库项目:Bart 和 Homer。巴特已被添加为荷马的数据库参考。

Bart项目定义了一个函数:

CREATE FUNCTION [dbo].[Message]()
RETURNS NVARCHAR(255)
AS
BEGIN
    RETURN 'I am a value returned from another database'
END
Run Code Online (Sandbox Code Playgroud)

然后Homer项目定义了一个表:

CREATE TABLE [dbo].[Messages]
(
     [Id] INT NOT NULL PRIMARY KEY
)
Run Code Online (Sandbox Code Playgroud)

和一个视图:

CREATE VIEW [dbo].[MessagesV]
    AS SELECT Id, Bart.dbo.Message() AS [Message]
    FROM dbo.Messages
Run Code Online (Sandbox Code Playgroud)

当尝试构建时,我收到以下错误:

Error   2   SQL71501: Computed Column: [dbo].[MessagesV].[Message] 
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: …
Run Code Online (Sandbox Code Playgroud)

sql-server-data-tools

1
推荐指数
1
解决办法
5504
查看次数

标签 统计

sql-server-data-tools ×2

sql ×1

sql-server ×1

t-sql ×1