Cita:
Empezado por Lepe
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
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.