PDA

Ver la Versión Completa : actualizacion en cascada


karocs
06-12-2004, 21:22:21
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
instala ibexpert aqui te aparecera la columna Update.
www.ibexpert.com (http://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
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:


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...