我试图创建 MySQL 存储过程,因为我想进行动态查询。我工作的代码..
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`selectp` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `selectp`(in a_str_Condition varchar(500))
BEGIN
SET @Query = 'SELECT * from test123';
IF a_str_Condition != ''
THEN
SET @strCondition = CONCAT(' WHERE ? ');
SET @param = a_str_Condition;
ELSE
SET @strCondition = ' Order by aaa desc';
END IF
SET @Query = CONCAT(@Query, @strCondition );
PREPARE stmt FROM @Query;
EXECUTE stmt USING @param;
DEALLOCATE PREPARE stmt;
END $$
DELIMITER ;
在这里我想传递参数aaa = 3
并将其与 mysql 查询连接,但它显示如下错误。
请让我清楚这个商店的程序。任何帮助将不胜感激。