我需要编写一个脚本来创建并调用一个名为的函数fnItemTotal,该函数计算表中商品的总金额OrderItems(折扣价格乘以数量)。
为此,该函数应该接受一个商品 ID 参数,它应该使用我之前创建的 DiscountPrice 函数,并且应该返回该商品的总计值。
这是我创建的函数,它被创建了。但是当我尝试调用它时,它给出了错误。
CREATE FUNCTION fnItemTotal
(@ItemID INT )
RETURNS MONEY
BEGIN
RETURN
(
SELECT
ItemId,
(SELECT * FROM dbo.fnDiscountPrice(ItemID) WHERE ItemID=@ItemID)*Quantity)--The fnDiscountPrice is the Other function i created.
FROM
OrderItems
WHERE
ItemID=@ItemID
);
END
GO
Run Code Online (Sandbox Code Playgroud)
这就是我用来称呼它的方式:
Select ItemID,dbo.fnItemTotal(ItemID) AS 'Total Price'
from OrderItems
ORDER BY ItemID;
Run Code Online (Sandbox Code Playgroud)
这是我调用它时给我的错误:
消息 208,级别 16,状态 3,第 2 行 对象名称“dbo.fnDiscountPrice”无效。