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)
-   -   Problemas al desactivar triggers (https://www.clubdelphi.com/foros/showthread.php?t=23104)

afxe 06-07-2005 19:32:43

Problemas al desactivar triggers
 
Hola a todos.
Os pongo en antecedentes: Tengo un fichero de movimientos de artículos donde se reflejan las compras, ventas, ajustes, etc... dicho fichero tiene varios triggers asociados para mantenimiento de estadisticas, stocks, acumulados, etc... El caso es que estoy realizando un proceso automático de cierre de año que se encarga de borrar apuntes en ese fichero y crear apuntes nuevos, pero no se deben lanzar los triggers.
Si meto en un script las siguientes instrucciones:

Código:

ALTER TRIGGER BD1_MOVIM INACTIVE;
ALTER TRIGGER AD1_MOVIM INACTIVE;
ALTER TRIGGER AD2_MOVIM INACTIVE;
 
DELETE FROM MOVIM WHERE TIPO_MOVIMIENTO = 'ST';
 
ALTER TRIGGER BD1_MOVIM ACTIVE;
ALTER TRIGGER AD1_MOVIM ACTIVE;
ALTER TRIGGER AD2_MOVIM ACTIVE;

Y lo ejecuto (esto lo hago mediante un IBSQLScript), todo va correctamente, no se tocan los ficheros de acumulados. Sin embargo, si uso un TIBSql donde voy metiendo las instrucciones una a una y lanzándolas con sus respectivos ExecSQL, cuando llega al DELETE, los triggers siguen activos y se actualizan los ficheros de acumulados, a pesar de que usar una transacción que comiteo al final.

El caso es que después del DELETE necesito hacer operaciones sobre el fichero de movimientos con los triggers inactivos... y no lo consigo. :confused:

Uso IBX y he probado en Firebird 1.5 e Interbase 6.1.

Gracias por vuestra atención.

Crandel 07-07-2005 06:03:14

Probaste hacer un Commit entre cada uno de estos pasos?

Uno despues de desactivalos
Uno despues del borrado
Uno despues de activarlos

afxe 07-07-2005 09:02:40

Po zi. (pues sí ----> traducción para latinoamérica)

Gracias... a veces la solución está tan escondida que la tienes delante de tus narices.


La franja horaria es GMT +2. Ahora son las 13:09:46.

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