Ver Mensaje Individual
  #1  
Antiguo 27-12-2004
jverasobino jverasobino is offline
Registrado
 
Registrado: dic 2004
Posts: 1
Reputación: 0
jverasobino Va por buen camino
Firebird 1.0.3 -- Recusividad de Triggers y Procedimientos Almacenados

Holas

Estoy empezando a trabajar con Firebird (v.1.0.3) y estoy metido en el tema de triggers y procedimientos almacenados.

Como experimento, traté de actualizar el resultado de unos campos de una tabla a través de un procedimiento almacenado (Proceso de negocio para calcular), el cual es gatillado por un trigger de actualizacion, es decir...se produce recusividad

explico en detalle lo realizado: 2 tablas A y B:

A = Parametros y Totales Mensuales
B = Detalle de cada mes.

X = Procedimiento Almacenado que calcula según parámetros de "A" y datos de tabla "B". Este procedimiento es gatillado por un trigger de actualización de "A".

si se modifica un parametro en "A", el trigger llama al procedimiento almacenado y actualiza los totales de "A". Esta actualizacion produce un nuevo gatillamiento del trigger, con lo cual se produce recursivdad.

¿Como puedo detener esta recursividad que se produce?

se que existen eventos (post_event) y excepciones, pero no he encontrado documentación al respecto y no se como se usan, pero tampoco se si me sirven, no quiero hacer depender estos cálculos a la aplicación.

la idea es desarrollar el proceso de negocio en la DB, y el cliente para registro de datos en PHP4.

cualquier colaboración se agradece.
Responder Con Cita