J'ai une procédure stockée MySQL avec quelques curseurs. Je veux imprimer une valeur pour renvoyer la sortie au client. SQLyog Enterprise.Comment simuler une impression dans une procédure stockée MySQL
J'ai essayé de déclarer une variable comme TEXT et de la concaténer à l'intérieur de la boucle mais cela ne fonctionne pas, du moins pas la façon dont j'essayais de le faire.
DECLARE _output TEXT;
DECLARE _ID INT DEFAULT 0;
DECLARE cur1 CURSOR FOR SELECT ID FROM CodeID;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cur1;
REPEAT
FETCH cur1 INTO _ID;
IF NOT done THEN
SET _output = _ID; /*SEE ALT BELOW*/
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
SELECT _output;
J'ai essayé:
SET _output = _output + _ID
et
SET _output = CONCAT(_output,_ID)
, mais ils ont tous deux juste retour NULL
SET _output = _ID;
me donne juste la dernière ligne récupérée. Ce qui est utile mais pas tout à fait ce que je voulais.
Quelle est la meilleure façon d'avoir chaque sortie de ligne récupérée à l'écran pour reproduire l'impression MySQL dans une procédure stockée MySQL?
Si pas être 'SET _output = CONCAT (_output, "", _ID);' Sinon, il ne le dernier ID – Marcus