Я создал UDF, который обращается к представлению [INFORMATION_SCHEMA].[TABLES]
:
CREATE FUNCTION [dbo].[CountTables]
(
@name sysname
)
RETURNS INT
AS
BEGIN
RETURN
(
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @name
);
END
В Visual Studio схема и имя для представления помечены предупреждением:
SQL71502: Функция: [dbo]. [CountTables] имеет неразрешенную ссылку на объект [INFORMATION_SCHEMA]. [TABLES].
Я все еще могу публиковать проект базы данных без каких-либо проблем, и UDF, похоже, работает правильно. IntelliSense заполняет имя представления для меня, поэтому у него нет проблем с ним.
Я также попытался изменить реализацию, чтобы использовать sys.objects
вместо этого представления, но мне также было дано такое же предупреждение для этого представления.
Как я могу разрешить это предупреждение?