Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/02/2013, 09:34
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: Error 1363 al crear trigger de auditoría

Creo que no has entendido bien el tema de las pseudovariables NEW y OLD.

NEW es el registro entrante, con los valores enviados en la sentencia (o nulos y defaults si no se envían todos los valores). Es decir, son los nuevos valores.

OLD es el registro que ya existe y se desea modificar, con los valores que actualmente tiene en la tabla.

Pero en un INSERT no existe un registro previo, por lo que no existe la variable OLD. OLD sólo es funcional en UPDATE o DELETE, ninguno de los cuales es lo que debes usar.

En definitiva, ya tienes lo que necesitas para hacer el ejercicio, lo que debes recordar es que estás insertando y no actualizando, por lo que en lugar de usar OLD sólo puedes usar NEW.

¿Se entiende la diferencia? ¿Queda suficientemente claro?

Haz lo que tienes que hacer, pero usa lo que corresponde.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)