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

fjolivares 04-03-2004 09:30:39

Borrado en cascada
 
Hola a todos! estoy intentando realizar la integridad referencial de mi base de datos desde IBOConsole. Lo he conseguido para una tabla, pero para las demás siempre me da el mismo error. Siempre que intento estableces la clave foránea para que me realize el borrado en cascada, obtengo el mismo error:

ISC ERROR CODE:335544466

ISC ERROR MESSAGE:
violation of FOREIGN KEY constraint "PK_CENTROS" on table "CENTROS"

En la tabla centros existe una clave primaria que es PK_CENTROS que se corresponde con el campo "CODIGOCENTRO", y en la tabla donde estoy creando la clave foránea, tengo de clave primaria a los campos CODIGOCENTRO,CODIGOCONTACTO.

¿Alguien sabe lo que puede pasar?

Saludos y gracias.

fjolivares 04-03-2004 09:55:44

Creo que es culpa de IBOConsole
 
Hola de nuevo, he intentado realizar lo mismo con IBExpert y funciona :D

Saludos.

fjolivares 04-03-2004 09:57:44

jo
 
Acaba ibexpert de compilar los cambios y casca :(

Me da el
<code>
error violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "PK_CENTROS" on table "CENTROS".
</code>

Saludos

guillotmarc 04-03-2004 11:03:40

Hola.

El motor intenta crear la relación, pero se encuentra que uno de los registros no cumple la relación.

Haz una consulta que te devuelva el/los registros que no cumple la relación.

Algo como :

select * from tabla1 where codigo2 not in (select codigo2 from tabla2)

Saludos.

Voutarks 04-03-2004 11:05:35

Supongo que ya lo habrás hecho pero comprueba que la integridad que intentas implementar realmente pueda establecerse, comprobando que los datos concuerdan.

Mirando el error da la sensación de que en la tabla detalle, en el campo codigocentro tienes algun registro donde ese campo toma el valor cadena vacía: "", y que ese valor no existe en ningun registro de la tabla maestra CENTROS

Comprueba que todos los registros de la tabla detalle en su clave externa, es decir en el campo CODIGOCENTRO, se corresponden con al menos algún registro de la tabla maestra en su clave primaria PK_CENTROS.

Voutarks 04-03-2004 11:06:19

Ups, Marc, te me has adelantado ;)

fjolivares 04-03-2004 11:09:25

Po Zi
 
Pues venia a autocontestarme, y es lo que dices, tenia algún registro que no me permitír crear la clave foránea.

Saludos y gracias.


La franja horaria es GMT +2. Ahora son las 01:08:57.

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