Tengo un procedimiento almacenado de MySQL con algunos cursores. Quiero imprimir un valor para enviar de vuelta la salida al cliente. SQLyog Enterprise.Cómo simular una impresión en un procedimiento almacenado de MySQL
Intenté declarar una variable como TEXTO y concatenar dentro del bucle, pero eso no funciona, al menos no de la manera en que estaba tratando de hacerlo.
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;
que he probado:
SET _output = _output + _ID
y
SET _output = CONCAT(_output,_ID)
pero ambos sólo devuelven NULL
SET _output = _ID;
sólo me da la última fila recuperada. Lo cual es útil, pero no del todo lo que quería.
¿Cuál es la mejor manera de tener cada salida de fila recogida en la pantalla para reproducir la impresión MySQL en un procedimiento almacenado de MySQL?
En caso de que no sea 'set _output = concat (_output, "", _ID);' De lo contrario, sólo tendrá la última ID – Marcus