PDA

Ver la Versión Completa : Borrado en cascada


fjolivares
04-03-2004, 09:30:39
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
Hola de nuevo, he intentado realizar lo mismo con IBExpert y funciona :D

Saludos.

fjolivares
04-03-2004, 09:57:44
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
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.