crear referencia en tabla firebird
Hola tengo un BD en Firebird con una tabla movimientos y otra tabla items, quiero crear una referencia donde el maestro seria la tabla movimientos y el detalle la tabla items, estoy probando con alter table pero no me sale, pienso que seria algo como:
alter table movimientos alter column id_cab references items(item_id_cab) Agradezco si pueden decirme como crear la referencia en tablas exisitentes y tambien como hacerlo al crear la tabla desde cero. Gracias y saludos. |
Hola ebeltete.
Declarar la relación en la creación de la tabla sería algo como: Estas son las acciones referenciales: NO ACTION: No hará nada. CASCADE : Realizará la misma acción en las tablas relacionadas. SET NULL : Pondrá NULL en las columnas de las tablas relacionadas. SET DEFAULT : Pondrá el valor definido por defecto en las columnas de las tablas relacionadas. Ahora desde Delphi, un ejemplo con los componentes IBX. Teniendo dos TIBDataSet , llamemoslos: tbMaestro y tbDetalle, los cuáles tienen sus respectivos TDataSources: dsMaestro y dsDetalle. Los cambios se harán sobre tbDetalle y son: A la propiedad DataSource de tbDetalle tenés que asignarle dsMaestro y en su propiedad SelectSQL, algo como: Los nombres de tabla y campos deberás cambiarlos por los que vos pusiste. Saludos. |
Ok. entiendo, haciendo:
SELECT * FROM DETALLE WHERE REFMAESTRO = :MAESTRO_ID al insertar datos en detalle, el campo REFMAESTRO lo completa automaticamente con el valor de MAESTRO_ID o lo tengo que hacer yo? |
Hola ebeltete.
En ese caso tendrías que completar el valor. Saludos. |
|
Cita:
Saludos.:) |
La franja horaria es GMT +2. Ahora son las 07:21:08. |
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