Código
CREATE PROCEDURE ee(ingreso text) BEGIN DECLARE tamanio tinyint; DECLARE comas tinyint; DECLARE elemento text; SET tamanio = LENGTH(ingreso); SET comas = instr(ingreso,','); while comas > 0 do SET elemento = SUBSTRING(ingreso,1,comas-1); SET ingreso = SUBSTRING(ingreso,comas+1); SELECT elemento; SET comas = instr(ingreso,','); END while; END //
Aqui esta en ejecucion:
Código
CALL ee('e,a,d,g');// +----------+ | elemento | +----------+ | e | +----------+ 1 ROW IN SET (0.00 sec) +----------+ | elemento | +----------+ | a | +----------+ 1 ROW IN SET (0.00 sec) +----------+ | elemento | +----------+ | d | +----------+ 1 ROW IN SET (0.00 sec) Query OK, 0 ROWS affected (0.00 sec)
No muestra el ultimo caracter g.
Alquien me ayuda a solucionar el problema.
Gracias.
PD: La idea es mandar un string que representara a un array (cada elemento esta separado por una coma) .... el procedure debe separar cada elemento.