小编ami*_*gul的帖子

带有可变参数列表的MySQL存储过程

我做了一个存储过程.我希望它通过不同的参数过滤数据.如果我传递一个参数,它应该被一个过滤; 如果我通过两个,它应该被两个过滤,依此类推,但它不起作用.

有人可以帮我吗?

DROP PROCEDURE IF EXISTS medatabase.SP_rptProvince2;
CREATE PROCEDURE medatabase.`SP_rptProvince2`(
 IN e_Region VARCHAR(45)
  )
BEGIN

 DECLARE strQuery VARCHAR(1024);
 DECLARE stmtp   VARCHAR(1024);
  SET @strQuery = CONCAT('SELECT * FROM alldata where 1=1');
  IF e_region IS NOT NULL THEN
   SET @strQuery = CONCAT(@strQuery, ' AND (regionName)'=e_Region);
  END IF;

 PREPARE  stmtp FROM  @strQuery;
 EXECUTE  stmtp;
END;
Run Code Online (Sandbox Code Playgroud)

mysql

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

mysql ×1