我希望有人能够提供帮助。我创建了我的第一个存储过程(没有什么奇特的),但是我遇到了一个问题。
我想给它一个字符串输入,例如1,2,3,4,5然后它执行一个简单的SELECT * FROM [TABLE] WHERE EAN IN (VAR);
所以存储过程如下所示:
-- --------------------------------------------------------------------------------
-- Routine DDL
-- Note: comments before and after the routine body will not be stored by the server
-- --------------------------------------------------------------------------------
DELIMITER $$
CREATE PROCEDURE `moments`.`new_procedure`(IN var1 VARCHAR(255))
BEGIN
SELECT * FROM moments.PRODUCT WHERE EAN IN (var1);
END我正试图像这样执行它:
作品
call moments.new_procedure('5045318357397')不起作用
call moments.new_procedure('5045318357397,5045318357427');这会执行但不会带来任何结果。它是否将第二条语句分类为一个字符串,以便它这样做:
select * from moments.PRODUCT WHERE EAN IN ('5045318357397,5045318357427')而不是这样:
select * from moments.PRODUCT WHERE EAN IN ('5045318357397','5045318357427')我如何在执行查询中格式化输入以使其将逗号分隔的字符串作为输入?