[CUAL ES EL ERROR] Crear variables en trigger MYSQL [RESUELTO]

Iniciado por LaThortilla (Effort), 20 Febrero 2015, 17:24 PM

0 Miembros y 1 Visitante están viendo este tema.

LaThortilla (Effort)

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 (sql) [Seleccionar]
CREATE
DEFINER=`root`@`localhost`
TRIGGER `new_trigger`
BEFORE INSERT ON `tabla1`
FOR EACH ROW
BEGIN
DECLARE con INT;
SET con = (SELECT COUNT(id)+1 FROM tabla1 WHERE YEAR(fecha) = YEAR(CURDATE()));
SET NEW.id = CONCAT(LPAD(con, 5 '0'), '/', YEAR(CURDATE()));
END;

MinusFour

Tienes que usar BEGIN/END.

Código (sql) [Seleccionar]

DELIMITER //
CREATE
DEFINER=`root`@`localhost`
TRIGGER `new_trigger`
BEFORE INSERT ON `tabla1`
FOR EACH ROW
BEGIN
  DECLARE con INT;
  SET con = (SELECT COUNT(id)+1 FROM tabla1 WHERE YEAR(fecha) = YEAR(CURDATE()));
  SET NEW.id = CONCAT(LPAD(con, 5 '0'), '/', YEAR(CURDATE()));
END;//
DELIMITER ;

LaThortilla (Effort)

SI tienes mucha razon pero aun me salta error #1582 - Incorrect parameter count in the call to native function 'LPAD'

LaThortilla (Effort)