Sam Sam - 2 months ago 14
SQL Question

unresolved reference to object [INFORMATION_SCHEMA].[TABLES]

I've created a UDF that accesses the

[INFORMATION_SCHEMA].[TABLES]
view:

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


Within Visual Studio, the schema and name for the view are both marked with a warning:


SQL71502: Function: [dbo].[CountTables] has an unresolved reference to object [INFORMATION_SCHEMA].[TABLES].


I can still publish the database project without any problems, and the UDF does seem to run correctly. IntelliSense populates the name of the view for me, so it doesn't seem to have a problem with it.

I also tried changing the implementation to use
sys.objects
instead of this view, but I was given the same warning for this view as well.

How can I resolve this warning?

Sam Sam
Answer

Add a database reference to master:

  1. Under the project, right-click References.
  2. Select Add database reference....
  3. Select System database.
  4. Ensure master is selected.
  5. Press OK.

Note that it might take a while for VS to update.