PDA

View Full Version : [MySQL] passare un parametro alla QUERY


race2
20-09-2006, 12:01
Devo passare una porzione di query ad una "STORED PROCEDURE" ma non so come posso fare, ecco un esempio di quello che intendo dire:

varEta: e' una variabile di INPUT che passo alla PROCEDURA
--sSQL--- : e' la variabile che deve valorizzarsi con--> WHERE Eta=varEta , ma solo nel caso che varEta sia diverso da nulla, non so come fare, mi potete dare una mano???


DECLARE sSQL VARCHAR(50);
IF(varEta!='') THEN
SET sSQL='WHERE Eta=varEta';
ELSE
SET sSQL='';
END IF;

DECLARE cur1 CURSOR FOR SELECT
Nome,
Cognome
FROM agenda
--sSQL---
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET varDone = 1;

shinya
20-09-2006, 12:09
Dovresti passare il parametro al cursore. In PL/SQL si farebbe qualcosa del genere:

declare
cursor c( p_parametro varchar2 ) is
select * from table where parametro = p_parametro;
begin
...
...


Altrimenti usi l'sql dinamico, costruendoti la stringa ed eseguendola.
Devi solo tradurre tutto questo in mysql.