2014-02-06 39 views
0

我想创建一个选择查询的where子句将有一个IN子句的过程。我创造了一个过程像下面butu它不是working-我怎样才能创建一个程序select语句在'IN子句'phpmyadmin

CREATE DEFINER = `root`@`localhost` PROCEDURE `agentin` (IN `code` VARCHAR(100)) NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER 
BEGIN 
SELECT * FROM AgentInformation WHERE AgentCode IN (code); 
END 

把在子句值等之后 - > IN(“CG001”,“CG002”)

我得到空值和通过的phpmyadmin制成查询是

SET @p0 = '''CG001'',''CG002'''; 

CALL agentin( @ P0 );

把它请帮帮忙,谢谢

回答

0

这是一个例子 -

DELIMITER $$ 

CREATE PROCEDURE procedure1(IN id_param VARCHAR(255)) 
BEGIN 
    SET @sql = CONCAT('SELECT * FROM table WHERE id IN (', id_param, ')'); 
    PREPARE stmt FROM @sql; 
    EXECUTE stmt; 
    DEALLOCATE PREPARE stmt; 
END$$ 

DELIMITER ; 

SET @id = '1,2,3,4,5'; 
CALL procedure1(@id); 
+0

感谢名单了很多@Devart您的帮助..其工作的罚款。 –

+0

如果确定,请接受答案。 – Devart

相关问题