简体   繁体   English

MySQL用户定义函数错误

[英]MySQL user defined function error

I'm trying to create a user defined function that will take a user ID as an argument and then display the retailPrice column for that particular row. 我正在尝试创建一个用户定义的函数,该函数将用户ID作为参数,然后显示该特定行的retailPrice列。 Can you tell me where I'm going wrong? 你能告诉我我要去哪里了吗?

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 ;

You're missing a ; 你错过了; between the DECLARE statement and the SELECT query. DECLARE语句和SELECT查询之间。 And you have INTO in the wrong place in the query. 而且您在查询中的错误位置有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 ;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM