我之前已经问过这些问题,但我认为最好问一个新问题,因为我的旧问题似乎略有不同。我没有提到现有的表和那里的输入。
我有一个表'item',其中包含每个项目的价格和库存等所有数据。我的功能应该从实际库存和物料价格中获取输入,并使用公式库存*价格将其转换为物料值。如果itemvalue为负数,则输出应为0,否则应返回正值。
item_value (inventory int UNSIGNED, price decimal(8,2))
功能的签名:
Database
表项目:
答案 0 :(得分:0)
在我看来,你的功能不起作用,因为你没有返回任何东西。我对吗?你应该添加一个return语句......
CREATE FUNCTION item_value (inventory INT UNSIGNED, price DECIMAL(8,2)) RETURNS DECIMAL(8,2)
BEGIN
DECLARE itemvalue DECIMAL(8,2) DEFAULT 0.0;
IF inventory*price < 0 THEN
SET itemvalue = 0
ELSE
SET itemvalue = inventory*price
END IF;
RETURN (itemvalue);
END