Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Ejecutar sp en trigger (https://www.clubdelphi.com/foros/showthread.php?t=26473)

micayael 24-10-2005 20:38:14

Ejecutar sp en trigger
 
Hola.

Tengo una validacion que tengo que hacerla muchas veces en varias tablas y para no escribir en todos los triggers quisiera saber si puedo hacer un SP con la validacion y que con el parametro del id que le paso busca y si no se permite la acción llama a un exeption.

La exception que esta dentro de este SP hace un ROLLBACK al trigger tambien verdad?

jachguate 24-10-2005 20:47:42

Si hay forma de llamar a un SP desde el trigger, tal como llamas a un procedimiento desde pascal: Pones su nombre y la lista de parámetros, y listo!

Sobre el rollback, no es recomendable (y muchos motores no permiten) que se controle la transacción desde dentro de triggers o sp's. Lo mejor es elevar una excepción y dejar que sea el motor o quien invoca a estas rutinas el que se encargue.

En el caso de una excepción originada desde un trigger, el propio motor deshará todas las acciones originadas por los triggers before/after, restituirá la tabla a su estado previo a la instrucción que dió lugar a esta excepción y devolverá el control (indicando la condición de error) a la aplicación que lo llama. Entonces podrás decidir si continuar la marcha o hacer un rollback de toda la transacción.

Hasta luego.

;)

micayael 24-10-2005 21:04:21

oK GRACIAS MAESTRO. TE DEBO UNA


La franja horaria es GMT +2. Ahora son las 03:11:42.

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