Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema con trigger

Estas en el tema de Problema con trigger en el foro de Mysql en Foros del Web. Como estan? Tengo un trigger que en mi base de datos corre perfectamente pero al subirlo al servidor me saca errores que puede estar pasando? ...
  #1 (permalink)  
Antiguo 12/03/2009, 14:46
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Problema con trigger

Como estan?

Tengo un trigger que en mi base de datos corre perfectamente pero al subirlo al servidor me saca errores que puede estar pasando?


Código:
create trigger `unicabd`.`_DBM__I44` AFTER INSERT on `unicabd`.`tbacmi` 
for each row BEGIN
  INSERT INTO unicabd._DBM__MASTERLOG(SNAME, TNAME, TTS, TUSER) VALUES ('unicabd', 'tbacmi', CURRENT_TIMESTAMP, USER());
  INSERT INTO unicabd._DBM__LOG_44 VALUES (LAST_INSERT_ID(), 'B', NEW.V_ACMI_NEMO, NEW.V_ACMI_TITULO, NEW.V_ACMI_EMISOR, NEW.V_ACMI_CODIGO_SUPER, NEW.V_ACMI_RIESGO, NEW.V_ACMI_RAZON_SOCIAL, NEW.V_ACMI_FEC_INSCRIP, NEW.V_ACMI_FECHA_PATRI, NEW.V_ACMI_PATRI_CON, ..............
END;
No lo puse completo porque es demasiado largo


Los errores que me saca son

Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
(0 ms taken)

Error Code : 1054
Unknown column 'NEW.V_ACMI_NEMO' in 'field list'
(0 ms taken)
  #2 (permalink)  
Antiguo 12/03/2009, 19:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema con trigger

Dos cosas:
1) El código que pusiste dice:
Código sql:
Ver original
  1. CREATE TRIGGER `unicabd`.`_DBM__I44` AFTER INSERT ON `unicabd`.`tbacmi`
  2. FOR each ROW
  3. BEGIN
  4.   INSERT INTO unicabd._DBM__MASTERLOG(SNAME, TNAME, TTS, TUSER)
  5.     VALUES ('unicabd', 'tbacmi', CURRENT_TIMESTAMP, USER());
  6.   INSERT INTO unicabd._DBM__LOG_44
  7.     VALUES (LAST_INSERT_ID(),
  8.         'B',
  9.         NEW.V_ACMI_NEMO,
  10.         NEW.V_ACMI_TITULO,
  11.         NEW.V_ACMI_EMISOR,
  12.         NEW.V_ACMI_CODIGO_SUPER,
  13.         NEW.V_ACMI_RIESGO,
  14.         NEW.V_ACMI_RAZON_SOCIAL,
  15.         NEW.V_ACMI_FEC_INSCRIP,
  16.         NEW.V_ACMI_FECHA_PATRI,
  17.         NEW.V_ACMI_PATRI_CON,
  18.         ..............
  19. END;
Con esto: ".............." no podemos saber si falta algo porque lo sintetizaste así o si realmente eso es lo que pusiste en el TRIGGER. Postea el código completo.
2.) Esto:
Cita:
Error Code : 1054
Unknown column 'NEW.V_ACMI_NEMO' in 'field list'
(0 ms taken)
significa que el campo V_ACMI_NEMO no existe en la tabla `unicabd`.`tbacmi` . ¿El campo se llama así o es el nombre de la variable que usaste para enviar el valor? Si es el nombre de la variable, aclaremos que en el trigger no se usan esos nombres. Cuando el triguer se dispara se crea un registro al que se accede con la pseudovariable NEW, pero los nombres de los campos de ese registro se corresponden ahora con los de la tabla. No con los de las variables usadas en la sentencia INSERT.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:48.