Мой UDF не работает, когда я пытаюсь его использовать

Я все еще начинающий, но я создал этот UDF:

USE NorthWind
GO
IF EXISTS(SELECT name FROM SYSOBJECTS
                 WHERE name='SaleAfterDiscount'
                 AND type ='FN')
BEGIN 
DROP FUNCTION SaleAfterDiscount;
END
GO
CREATE FUNCTION SaleAfterDiscount(@pPrice AS MONEY, @pQty AS SMALLINT, @pDiscount AS REAL)
RETURNS MONEY AS 
BEGIN
DECLARE @SaleAfterDiscount MONEY;
SET @SaleAfterDiscount=(@pPrice*@pQty*(1-@pDiscount));
RETURN @SaleAfterDiscount;
END;

Затем я использую этот UDF, чтобы получить значение, и я получаю эту ошибку, которая говорит, что "Идентификатор нескольких частей"dbo.SaleAfterDiscount"не может быть связан. Я не уверен, что я сделал неправильно. Кто-нибудь может помочь?

1 ответ

Поскольку функция CREATE FUNCTION не указывает схему, скорее всего, она создается в другой схеме (зависит от вашей пользовательской конфигурации).

Попробуйте изменить CREATE так, как показано ниже

СОЗДАТЬ ФУНКЦИЮ ДБО. SaleAfterDiscount

Другие вопросы по тегам