【发布时间】:2018-09-08 21:06:12
【问题描述】:
我在这里仍然是一个初学者,但我创建了这个 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。我不确定我做错了什么。有人可以帮忙吗?
【问题讨论】:
-
你的功能完全坏了。一无所有……没有回报。为什么要发送三个参数来忽略它们?
-
这里要小心使用真实的。您应该改用小数,因为 real 是一种近似数据类型。
-
您的
IF Exists不完整。你需要一个结束括号。如上所述。 -
sorry sorry 我打错了代码 我已经修复了
-
你是如何调用函数的?
标签: sql-server tsql user-defined-functions dbo