保存されたプロシージャを作成しました。さまざまなパラメータでデータをフィルタリングしたい。1つのパラメーターを渡す場合、それは1つでフィルター処理する必要があります。2つ渡すと、2つでフィルタリングされるはずですが、機能しません。
誰か助けてくれませんか?
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;