Я сделал хранимую процедуру. Я хочу, чтобы он отфильтровывал данные по различным параметрам. Если я передаю один параметр, он должен быть отфильтрован одним; если я передаю два, он должен быть отфильтрован двумя и так далее, но он не работает.
Кто-нибудь может мне помочь?
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;