Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2013, 16:13
Avatar de herran1212
herran1212
 
Fecha de Ingreso: julio-2013
Ubicación: cali
Mensajes: 89
Antigüedad: 10 años, 9 meses
Puntos: 3
Trigger mysql

Hola a todos , mi problema es el siguiente tengo el siguiente trigger:
Código MySQL:
Ver original
  1.  
  2. SET @auto=(SELECT automatico FROM items_configuracion_codigo WHERE id=NEW.id_configuracion);
  3.  
  4. IF @auto = 'true' THEN
  5.      
  6.     SET @cuantos = (SELECT codigo FROM items_familia_grupo_subgrupo WHERE id_familia=NEW.id_familia AND id_grupo=NEW.id_grupo AND id_empresa=NEW.id_empresa AND activo=1  ORDER BY CAST(codigo AS SIGNED) DESC LIMIT 0,1);
  7.    
  8.     IF @cuantos >0 THEN
  9.           SET NEW.codigo=RIGHT(CONCAT('0000000000',@cuantos+1),LENGTH(@cuantos));
  10.     ELSE
  11.           SET NEW.codigo = CONCAT(
  12.                                                                     # LPAD('numero','cantidad de digitos','numero que se concatena para llenar el valor de digitos')
  13.                                                                    LPAD(1,2,'0')
  14.                                                            );
  15.      END IF;
  16.  

lo utilizo para verificar si el codigo a insertar es automatico y si es que lo genere de forma automatica, el problema es que llegado al if de @cuantos no me toma el valor mayor y lo suma sino que es como si no hubiera ningun codigo es decir se salta al else ais haya otro codigo, ya relice el query y funciona, nose que pueda ser, si pudieran ayudarme os lo agradeceria

Última edición por gnzsoloyo; 16/07/2013 a las 17:45