Ваша функция и SQL, который ее правильно называет, написаны.
Убедитесь, что вы выполнили SQL, который создает функцию в соответствующей базе данных , и перед выполнением SELECT
, который ее использует(используйте GO
в качестве разделителя пакетов, если в SSMS).Вы можете использовать USE DatabaseName
непосредственно перед оператором CREATE FUNCTION
для переключения текущей подключенной базы данных.
Затем используйте этот запрос, чтобы найти его:
USE DatabaseName
SELECT
ObjectType = O.type_desc,
SchemaName = SCHEMA_NAME(O.[schema_id]),
ObjectName = O.name,
CreatedDate = O.create_date,
ModifiedDate = O.modify_date
FROM
sys.objects AS O
WHERE
O.type IN ('FN')
Если в списке указано , а не , значит, он не был создан или вы создали его в другой базе данных.
Вы можете проверить свою функцию без какой-либо ссылки на таблицу, непосредственно указав ей значение:
SELECT dbo.firstchartoupper(N'Some testing value')
Вы также можете попробовать добавить имя базы данных перед схемой, если она находится в другой базе данных:
SELECT DatabaseName.dbo.firstchartoupper(N'Some testing value')