Ho eseguito una stored procedure. Voglio che filtri i dati in base a parametri diversi. Se passo un parametro, dovrebbe essere filtrato di uno; se ne passo due, dovrebbe essere filtrato per due, e così via, ma non funziona.Procedura memorizzata MySQL con elenco argomenti variabile
Qualcuno può aiutarmi per favore?
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;
Grazie per aver postato la risposta. ma dammi questo errore Ricerca errore-Errore database Mysql: colonna sconosciuta 'Sud' in 'clausola where' –
Ci si aspetta che tu pensi. Non so dal tuo commento da dove provenga "South"; Non so dalla tua domanda su quale colonna debba essere associato il secondo o il successivo argomento; Non posso dire come vuoi chiamarlo. Devi compilare quel tipo di dettaglio e * pensare * per te stesso. –
sto usando questa procedura per riferire che ho 5 parametri in questa procedura se non passo un parametro tutti i dati dovrebbero essere visualizzati se passo un parametro la vista dovrebbe essere filtrata sulla base di uno e gli altri quattro parametri saranno passati null se ho passato due parametri la vista dovrebbe essere filtrata da due parametri e gli altri tre parametri saranno passati null e quindi su questo è il concetto della procedura. se potessi aiutarmi sarà molto apprezzato sono nuovo a mysql ho fatto lo stesso in sqlserver 2005 e funziona lì ma non funziona qui in mysql. –