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)
-   -   eliminar en cascada con intebase (https://www.clubdelphi.com/foros/showthread.php?t=13102)

squenda 05-08-2004 23:19:21

eliminar en cascada con intebase
 
hola a todos, mi problema es el sig:

tengo una base de datos para medicos, en donde el paciente es la tabla que utilizo para casi todo, por lo tanto la relaciono con varias tablas, el problema es que cuando quiero eliminar al paciente porque se dio de alta o murió, tengo que ir eliminando a todos los hijos y nietos de ese registro lo cual es una lata, si alguien pudiera ayudarme a resolver esto, he oido que se puede eliminar en cascada y me gustaria saber como se hace, actualmente utilizo solamente querys y trabajo con interbase 6. gracias.

marto 06-08-2004 08:26:36

Wop!

Existen varias técnicas para conseguir lo que quieres. Una que te serviria con cualquier SGBD serio, es programar triggers en la tabla maestra.
Lo que te permite IB/Firebird es programar este comportamiento de manera declarativa. Para ello tienes que indicarlo al crear la foreign key en el detalle. No recuerdo exactamente la sintaxis, pero esencialmente consiste en añadir a la sentecia que crea la clave la opción "ON DELETE CASCADE". Si permites que se cambien los campos clave de la tabla maestra, tambien te puede interesar la opción "ON UPDATE CASCADE".


La franja horaria es GMT +2. Ahora son las 22:58:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi