Dolphin y foreign key

Dolphin y foreign key

Postby jgabri » Wed Sep 04, 2019 11:13 am

Hola

Alguien tiene algún ejemplo, de como utilizar foreign key con dolphin ? estoy un poco perdido, he creado la clave en la tabla, pero no me acaba de funcionar.

Un saludo,
Gabriel

Harbour
Fwh 19.05
jgabri
 
Posts: 19
Joined: Mon Jan 14, 2019 11:43 am

Re: Dolphin y foreign key

Postby cmsoft » Wed Sep 04, 2019 12:21 pm

Hola Gabriel:
Las Foreing Key te sirven para mantener la integridad referencial en las tablas, o incluso mantener de forma automatica la relacion en tablas cabecera-detalle.
Con Dolphin nos va a respetar las reglas que hayamos indicado en las foreing key, tales como no permitir borrar de una tabla maestra si asi lo indica la regla, o hacer un borrado en cascada, cuando lo indiquemos asi.
Ejemplo:
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`);
Esto hara que el campo categoria de la tabla clientes, no permita ingresar un valor que no este en la tabla categorias.
Otro ejemplo:
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON UPDATE CASCADE;
Esto hara que el campo categoria de la tabla clientes, no permita ingresar un valor que no este en la tabla categorias y que ademas si modifico el id de la categoria en la tabla de categorias, modificara automaticamente en todos los clientes que tengan ese codigo de categoria.
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON DELETE CASCADE;
Se pueden combinar las opciones.
ALTER TABLE `clientes`
ADD FOREIGN KEY (`categoria`) REFERENCES `categorias`(`id`) ON UPDATE RESTRICT ON DELETE CASCADE;
Con dolphin podemos capturar los errores en caso de que la operatoria quiera romper una regla definida en la foreing key.
Espero haber sido de ayuda...Cualquier duda a tu disposicion
User avatar
cmsoft
 
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Dolphin y foreign key

Postby jgabri » Wed Sep 04, 2019 6:34 pm

Gracias Cesar por la ayuda,

Si hago desde dolphin un oTabla:delete y quiero eliminar la factura, también me elimina el detalle de la factura ?

Tengo dos tablas facturas y detalles, el foreign key lo tengo por el id, lo estoy haciendo bien ?

Funciona en tablas MyISAM ?

Un saludo,
Gabriel

Harbour
Fwh 19.05
jgabri
 
Posts: 19
Joined: Mon Jan 14, 2019 11:43 am

Re: Dolphin y foreign key

Postby rogerio » Thu Sep 05, 2019 4:06 pm

Ola Gabriel,

Si, se usares FOREIGN KEY con la opción ON DELETE CASCADE, ao eliminar la factura los detalles tambien serán eliminados.
Funciona en MyIsam. Note: la tabla principal e las tablas secundarias devem usar lo mismo motor.
Todos MyIsam o todos InnoDb.
Si, siempre el ID como referencia.

Saludos.
User avatar
rogerio
 
Posts: 84
Joined: Wed Nov 09, 2005 11:22 pm
Location: São Lourenço da Serra - SP - Brasil

Re: Dolphin y foreign key

Postby jgabri » Sat Sep 07, 2019 11:27 am

Gracias por la ayuda !!!!

Un saludo,
Gabriel
jgabri
 
Posts: 19
Joined: Mon Jan 14, 2019 11:43 am


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 53 guests