SQL Server - Error en una Foreign Key

   
Vista:
Imágen de perfil de David

Error en una Foreign Key

Publicado por David (1 intervención) el 14/04/2014 05:07:33
Que tal.

Estoy iniciandome en este mundo de SQL Server , así que no tengo mucha experiencia.
Hice 2 tablas y quiero crear una llave foranea sin embargo al querer ejecutar me aparece un error.




Mis tablas estan así:

create table Inmuebles
(
id_Ref int identity not null,
F_alta smalldatetime Not null,
Tipo varchar(32)Not null,
Operacion char(12)Not null,
K_Provincia char(3)Not null,
Nom_Provincia varchar(32)Not null,
Superficie int Not null,
Precio_Vta float Not null,
F_Vta smalldatetime Not null,
Vendedor varchar(32) Not null,
Primary Key Clustered (id_Ref)

)


create table Provincias
(
k_Provincia char(3)not null,
Nom_Provincia char(15)not null,
K_Pais char(3)not null,
Nom_Pais char(15)not null,
primary key clustered (K_provincia)

)
En ambas tablas tengo registros
y al final quiero agregar la llave foranea:

alter table inmuebles
add constraint fk_k_provincia
foreign key (k_Provincia)
references Provincias(k_Provincia)

Doy ejecutar y aparece este error:

Mens. 547, Nivel 16, Estado 0, Línea 1
Instrucción ALTER TABLE en conflicto con la restricción FOREIGN KEY "fk_k_provincia". El conflicto ha aparecido en la base de datos "practicas", tabla "dbo.Provincias", column 'k_Provincia'.

¿Saben a que se debe?Esta claro que hay algo mal ,pero no logro identificarlo.
Agradecría su ayuda.Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Error en una Foreign Key

Publicado por Isaias (3180 intervenciones) el 14/04/2014 19:24:21
Creo que el mensaje es muy descriptivo, tienes problemas con la tabla PROVINCIAS y el campo k_Provincia.

Puede que existas duplicados o bien, registros que NO EXISTEN en la tabla a la cual se desea hace referencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error en una Foreign Key

Publicado por Miguel (14 intervenciones) el 15/04/2014 13:53:47
Hola,
Probablemente existen registros en la tabla hija, que no tienen par en la tabla padre, ejecuta esta query para encontrarlos,

select
pk_Provincia,
i.k_Provincia
from Inmuebles i
full outer join
Provincias p on pk_Provincia=i.k_Provincia
where isnull pk_Provincia or i.k_Provincia is null

saludos,
Miguel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar