Ver Mensaje Individual
  #14  
Antiguo 24-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 28
jachguate Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
En un trigger AFTER insert, ya ha ocurrido la acción de inserción/borrado o lo que sea...., no tiene sentido la variable New.
Claro que tiene sentido, para conocer los valores (por ejemplo, para llevar una auditoría). Lo que no tiene sentido es tratar de modificar el valor de algún campo.

Cita:
Empezado por Lepe Ver Mensaje
Un BEFORE UPDATE podría confundir, porque realmente si tiene valores antes y después del Trigger, pero Firebird funciona así.
Esto no lo entendí muy bien.

En el before/after update está disponible tanto el registro NEW como el OLD. En el befire pueden modificarse los valores del NEW, no así en el after. Los valores del OLD no pueden modificarse nunca.

En el before/after delete está disponible el registro OLD, pero no puede modificarse bajo ninguna circunstancia.

Hasta ahora descubro que versiones anteriores de firebird no daban error cuándo se trataba de modificar estos valores. No recuerdo haberme topado nunca con esos errores al cambiar de versión del motor.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita