如何使用select在UDF中返回一行

时间:2016-05-26 02:13:36

标签: mysql

我有一个名为items的表,其中包含itemId(int),retailPrice(decimal(8,2)和title(varchar)

我正在尝试在mySQL中创建一个用户定义的函数,该函数接受itemId作为输入并返回该项目的零售价格。

但是每当我尝试使用它运行select时它会返回我选择的itemId的价格,但会列出item表中的每一行。我希望它只返回相对于itemId

的1行

到目前为止,我有这段代码

CREATE FUNCTION itemPrice (itId DECIMAL(8,2))
RETURNS DECIMAL(8,2)
READS SQL DATA
BEGIN
 declare rp decimal(8,2);
 select retailPrice into rp from item
 where itemId = itId
 return (rp);
END$$

我做错了什么?

1 个答案:

答案 0 :(得分:0)

TRY

select itemId, title, itemPrice(#) 
from item  
where itemid = #