MySQL用户定义的函数错误

时间:2016-10-21 18:31:45

标签: mysql user-defined-functions

我尝试创建一个用户定义的函数,该函数将用户ID作为参数,然后显示该特定行的retailPrice列。你能告诉我哪里出错了吗?

DELIMITER $$

CREATE FUNCTION itemPrice(uId DECIMAL(8,2))
RETURNS DECIMAL(8,2)
READS SQL DATA
BEGIN 
    DECLARE r DECIMAL(8,2)
    SELECT INTO retailPrice r FROM item WHERE userId = uId;
    RETURN(r);
END$$

DELIMITER ;

1 个答案:

答案 0 :(得分:0)

您在;语句和DECLARE查询之间缺少SELECT。并且INTO位于查询中的错误位置。

DELIMITER $$

CREATE FUNCTION itemPrice(uId DECIMAL(8,2))
RETURNS DECIMAL(8,2)
READS SQL DATA
BEGIN 
    DECLARE r DECIMAL(8,2);
    SELECT retailPrice INTO r FROM item WHERE userId = uId;
    RETURN(r);
END$$

DELIMITER ;