Я создал 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
вместо этого представления, но я получил такое же предупреждение и для этого представления.
Как я могу устранить это предупреждение?