我需要编写一个脚本,该脚本创建并调用名为fnItemTotal
的函数,该函数计算OrderItems
表中的项目总数(折扣价格乘以数量)。如何在另一个函数中调用函数
要做到这一点,该函数应该接受一个项目ID的参数,它应该使用我之前创建的DiscountPrice函数,它应该返回该项目的总价值。
这是我创建的函数,它被创建。但是当我尝试调用它时会出现错误。
CREATE FUNCTION fnItemTotal
(@ItemID INT)
RETURNS MONEY
BEGIN
RETURN
(
SELECT
ItemId,
(SELECT * FROM dbo.fnDiscountPrice(ItemID) WHERE [email protected])*Quantity)--The fnDiscountPrice is the Other function i created.
FROM
OrderItems
WHERE
[email protected]
);
END
GO
这是我用什么来称呼它:
Select ItemID,dbo.fnItemTotal(ItemID) AS 'Total Price'
from OrderItems
ORDER BY ItemID;
这是它给我的错误,当我把它叫做:
消息208,Level 16,State 3,Line 2 无效的对象名称'dbo.fnDiscountPrice'。
你真的确认你在'dbo'模式中创建了'fnDiscountPrice'功能?您是否确定该函数存在于您正在运行该函数的数据库中? –
是的,我仍然从我创建它的地方开始创建剧本。@ TT。 –