Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/10/2009, 07:50
phidalgo
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: ¿Cómo hago este Trigger?::

Cita:
Iniciado por huesos52 Ver Mensaje
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!
__________________
-La duda es la base del conocimiento-

Última edición por phidalgo; 25/10/2009 a las 07:57