我做了一个存储过程.我希望它通过不同的参数过滤数据.如果我传递一个参数,它应该被一个过滤; 如果我通过两个,它应该被两个过滤,依此类推,但它不起作用.
有人可以帮我吗?
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 ×1