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)
-   -   Trigger delete tabla dependiente o débil (https://www.clubdelphi.com/foros/showthread.php?t=69075)

rfernandez 24-07-2010 02:53:44

Trigger delete tabla dependiente o débil
 
Buenas a todos y todas,

Necesito saber una cosa y desconozco como.
Os planteo la situación.

Tengo una tabla de detalla_ventas que es dependiente o débil de la tabla de venta.

En el trigger de after_delete de detalle_ventas recalculo unos valores que hay en la tabla de venta.

Este trigger sólo tiene sentido sino viene provocado por una eliminación en cascada cuando se borra una venta.

Podría saber desde el trigger_after_delete de detalle_ventas que la venta de la qual depende se esta eliminando y por ello se esta eliminando el detalle_venta, de esta manera no ejecutaría el código del after_delete y haría el proceso más eficiente.

Gracias,

rfernandez 24-07-2010 16:00:24

Me contesto yo mismo.
He encontrado una entrada interesante entrada en
http://tracker.firebirdsql.org/browse/CORE-1541

por lo que comentan cuando hay un borrado en cascada primero se borra el master y despues los detalles, por lo que en el detalle si preguntamos por la existencia del master sabremos si se esta eliminando el master o no.

Saludos,

rastafarey 09-08-2010 04:38:41

resp
 
por la clave foranea. Pero si cancelas se cacelara todo. No solo el detalle.
Lo que no se es si se puede hacer sin lansar una excepcion. Lo cual no seria de manera silenciosa.


La franja horaria es GMT +2. Ahora son las 09:34:25.

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