MySQL使用现有表创建函数语句

时间:2016-01-08 14:16:22

标签: mysql input create-function

我之前已经问过这些问题,但我认为最好问一个新问题,因为我的旧问题似乎略有不同。我没有提到现有的表和那里的输入。

我有一个表'item',其中包含每个项目的价格和库存等所有数据。我的功能应该从实际库存和物料价格中获取输入,并使用公式库存*价格将其转换为物料值。如果itemvalue为负数,则输出应为0,否则应返回正值。

item_value (inventory int UNSIGNED, price decimal(8,2))

功能的签名:

Database

表项目:

item

1 个答案:

答案 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