Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   actualizacion en cascada (https://www.clubdelphi.com/foros/showthread.php?t=16662)

karocs 06-12-2004 21:22:21

actualizacion en cascada
 
Saludos

Tengo una tabla maestra en interbase y el campo llave de esta tabla esta en casi todas las demas (30 al menos) y ya todas tienen datos.

La pregunta es la siguiente al actualizar el campo llave en la tabla maestra necesito que me cambie en las demas, yo se que en interbase esta la clausula on update cascade, pero en mi caso no la tengo, como puedo hacer para agregarla sin crear nuevamente la tabla y conservar todos los datos..

Gracias de antemano....

AGAG4 06-12-2004 21:39:22

ok
 
instala ibexpert aqui te aparecera la columna Update.
www.ibexpert.com

karocs 06-12-2004 23:36:59

Saludos

Gracias por reponder, lo que pasa es que necesito hacerlo por la apliacion y no directamente en interbase, es para que lo haga el usuario de la aplicacion cuando lo necesite..

Gracias....

AGAG4 07-12-2004 02:27:51

pero..
 
Si lo quieres por la aplicacion tendrás que implementarlo tu mismo, puedes hacer una funcion de Guardado en donde le pasas la llave primaria del Maestro Detalle, es muy facil te recomiendo que te bases haciendo alguna prueba con el ibexpert ó ibconsole, abriendo con un select algun dato y sobreescribiendo la llave primaria y es todo.

Saludos.

karocs 10-12-2004 23:53:35

Saludos

Intente hacer lo que me sugeriste por el ibconsole, el sqlexplorer incluso desde un proyecto de prueba, a travez de un trigger despues de actualizar en la tabla maestra y me sale el siguiente error "Stack OverFlow" algo con la memoria reservada alguna sugerencia

Te lo agradeceria muchisimo

maeyanes 13-12-2004 16:57:17

Prueba con esto en cada tabla hija:

Código SQL [-]
ALTER TABLE
  Child_Table 
ADD CONSTRAINT
  FK_Child_Ref_Master
FOREIGN KEY
  (Child_Key)
REFERENCES
  Master_Table (Master_Key)
ON UPDATE CASCADE;

Con esto creas una llave foranea (o llave externa) con actualizaciones en cascada, sin necesidad de crear la tabla de nuevo.

Espero te sea de utilidad...


Saludos...


La franja horaria es GMT +2. Ahora son las 06:26:49.

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