Hola.
Me he encontrado un caso, en el que aparentemente se han ejecutado la mitad de las instrucciones de un trigger, y no se han ejecutado (o han fallado) las ultimas.
Al necesitar todo en Firebird una transacción, imagino que al ejecutarse un Trigger se crea una transacción (o corre dentro de la transacción de la modificación de la tabla). ¿ Que ocurre si falla una instrucción en el trigger ? ¿ se echa atrás la transacción ? ¿ finaliza el trigger, pero sin cancelar la transacción ?.
¿ Alguien me puede indicar donde encontrar documentación que trate sobre el tema ?.
¿ La única forma de cancelar un cambio si no se ejecuta correctamente un trigger, es controlando una transacción desde el lado cliente ?. Algo así :
Código:
// .... Modificar el ClientDataset
Cn.BeginTrans;
try
ClientDataset.ApplyUpdates(0);
Cn.Commit;
except
Cn.Rollback;
end;
Gracias.