1
我需要定义一个mysql存储过程,如果您将一个参数传递给它,请在选择查询中使用它,如果不然则不然。使用IF语句的MySQL存储过程
这是我拥有的,它不工作:
IF (selected_category IS NULL) then
SELECT i.id, i.name, i.summary, i.description, i.location, c.name AS 'category_name'
FROM items i, categories c WHERE i.category_id = c.id;
ELSE IF (selected_category IS NOT NULL) then
SELECT i.id, i.name, i.summary, i.description, i.location, c.name AS 'category_name'
FROM items i, categories c WHERE i.category_id = c.id AND c.name LIKE selected_category;
END IF
我也试过,而不是ELSE IF
,写ELIF
,END IF;
,然后一个新的IF
但没有想工作。
当我点击创建过程时,它总是显示一个错误,除非我注释掉第一个SELECT
下面的所有内容。
帮助将不胜感激。谢谢。
它的工作原理是它接受过程并创建它,但当我调用过程时,它总是返回“MySQL返回空结果集(即零行)”。 – 2014-12-03 18:12:29
你可能需要调整你喜欢的语句(请参阅编辑) – Sebas 2014-12-03 19:22:41