【问题标题】:How can i create a procedure for select statement in 'IN Clause' for phpmyadmin如何为 phpmyadmin 的“IN 子句”中的 select 语句创建一个过程
【发布时间】:2014-03-03 13:41:09
【问题描述】:

我想为一个选择查询创建一个过程,其中 where 子句将包含一个 IN 子句。我创建了一个如下所示的程序,但它不起作用 -

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 子句值后,如 --> IN ('CG001','CG002')

我得到空值,phpmyadmin 的查询是

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

致电agentin ( @p0 );

请帮忙解决一下,谢谢

【问题讨论】:

    标签: mysql stored-procedures phpmyadmin in-clause


    【解决方案1】:

    这是一个例子-

    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);
    

    【讨论】:

    • 非常感谢@Devart 的帮助......它工作正常。
    • 如果可以,接受答案。
    猜你喜欢
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 2018-03-08
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多