Cita:
Iniciado por huesos52
se me ocurre que recorras la consulta con un cursor, y vayas concatenando cada registro en una variable previamente declarada.
Gracias por responder, efectivamente con un cursor puedo lograr lo que necesito, sin embargo, tengo un problema para ir concatenando las variables en el LOOP::
Código:
BEGIN
DECLARE done BOOLEAN DEFAULT FALSE;
DECLARE id integer;
DECLARE acum text;
DECLARE c1 cursor for SELECT id_larg FROM `largo` WHERE noc_larg=param1;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = TRUE;
open c1;
c1_loop:
LOOP
fetch c1 into id;
SET acum = CONCAT(acum,'-',id);
IF `done` THEN LEAVE c1_loop; END IF;
END LOOP c1_loop;
UPDATE `tablaparatest` SET texto = acum WHERE id_test=1;
CLOSE c1;
END ;
En "id" tengo un array con varios numeros, el problema lo tengo en el:
SET acum = CONCAT(acum,'-',id); ..al final me guarda NULL en la BD
¿Cómo puedo hacer este acumulado de variables?
Gracias!