![]() |
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, |
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, |
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