当我尝试使用它时,我的UDF无法工作

时间:2018-03-29 19:49:53

标签: sql-server tsql user-defined-functions dbo

我仍然是初学者,但我创建了这个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 个答案:

答案 0 :(得分:1)

由于CREATE FUNCTION没有指定架构,因此很可能是在不同的架构中创建(取决于您的用户配置)。

尝试将CREATE更改为如下所示

创建功能 dbo。 SaleAfterDiscount