Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: LaThortilla (Effort) en 20 Febrero 2015, 17:24 pm



Título: [CUAL ES EL ERROR] Crear variables en trigger MYSQL [RESUELTO]
Publicado por: LaThortilla (Effort) en 20 Febrero 2015, 17:24 pm
lo que intento hacer es almacenar en una variable el resultado de la consulta (linea 8) y luego Modificar el id;


me salta error #1064 (linea 8) (solucionado) (faltaba BEGIN y END)
me salta error #1582 - Incorrect parameter count in the call to native function 'LPAD' (faltaba una coma) Graciass :D
Código
  1. CREATE
  2. DEFINER=`root`@`localhost`
  3. TRIGGER `new_trigger`
  4. BEFORE INSERT ON `tabla1`
  5. FOR EACH ROW
  6. BEGIN
  7. DECLARE con INT;
  8. SET con = (SELECT COUNT(id)+1 FROM tabla1 WHERE YEAR(fecha) = YEAR(CURDATE()));
  9. SET NEW.id = CONCAT(LPAD(con, 5 '0'), '/', YEAR(CURDATE()));
  10. END;
  11.  


Título: Re: [CUAL ES EL ERROR] Crear variables en trigger MYSQL
Publicado por: MinusFour en 20 Febrero 2015, 18:06 pm
Tienes que usar BEGIN/END.

Código
  1. DELIMITER //
  2. CREATE
  3. DEFINER=`root`@`localhost`
  4. TRIGGER `new_trigger`
  5. BEFORE INSERT ON `tabla1`
  6. FOR EACH ROW
  7. BEGIN
  8.  DECLARE con INT;
  9.  SET con = (SELECT COUNT(id)+1 FROM tabla1 WHERE YEAR(fecha) = YEAR(CURDATE()));
  10.  SET NEW.id = CONCAT(LPAD(con, 5 '0'), '/', YEAR(CURDATE()));
  11. END;//
  12. DELIMITER ;


Título: Re: [CUAL ES EL ERROR] Crear variables en trigger MYSQL
Publicado por: LaThortilla (Effort) en 20 Febrero 2015, 18:19 pm
SI tienes mucha razon pero aun me salta error #1582 - Incorrect parameter count in the call to native function 'LPAD'


Título: Re: [CUAL ES EL ERROR] Crear variables en trigger MYSQL
Publicado por: LaThortilla (Effort) en 20 Febrero 2015, 18:21 pm
Listo faltaba una coma (,) Gracias Gracias