![]() |
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. :D 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 :eek: 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? :confused: 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. :rolleyes: 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. |
Hola
Lo que quieres con un simple if trigger before_update o after_update
Si te he entendido bien, esto te lo soluciona Saludos |
La franja horaria es GMT +2. Ahora son las 21:03:33. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi