SQL Server - ¿Conectar Llave foránea simple a llave primaria compuesta en SQL SERVER 2005?

 
Vista:

¿Conectar Llave foránea simple a llave primaria compuesta en SQL SERVER 2005?

Publicado por MetCastle (1 intervención) el 15/03/2012 01:22:41
SQL SERVER 2005

lo que quiero hacer es lo siguiente :

en una tabla tener una llave foránea de un solo campo que se conecte a otra tabla donde la llave primaria es compuesta (es decir dos campos) y uno de esos campos es al que me quiero conectar con el foreing key


El Error en SQL SERVER 2005 ES EL SIGUIENTE

No hay claves principales ni candidatas en la tabla a la que se hace referencia ('prestamo') que
concuerden con la lista de columnas que hace referencia en la clave externa fk_estado_libro


AQUI LAS DOS TABLAS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
create table prestamo (
num_prest int not null,
cod_libro int not null,
fecha_prest smalldatetime,
fechadev_prest smalldatetime,
id_usuario int not null,
 
constraint pk_prestamo_libro primary key(num_prest,cod_libro),
 
constraint fk_libro_prestamo foreign key (cod_libro)references libro(cod_libro),
constraint fk_usuario_prestamo foreign key (id_usuario)references usuario(id_usuario),
);
 
 
 
 
create table estado(
cod_libro int not null ,
nom_est_libro varchar(15),
num_prest int not null ,
nom_est_prest varchar(15),
 
constraint fk_estado_prestamo foreign key (num_prest) references prestamo (num_prest )
 
);



Como ven quiero que en la segunda tabla el campo NUM_PREST se conecte con la tabla PRESTAMO y su campo NUM_PREST pero como la llave primaria es NUM_PREST Y COD_LIBRO
no lo permite AYUDA

quiero hacerlo con codigo transact

AGRADEZCO A QUIEN ME PUEDA AYUDAR !!
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
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

¿Conectar Llave foránea simple a llave primaria compuesta en SQL SERVER 2005?

Publicado por Isaias (4558 intervenciones) el 15/03/2012 03:07:36
Las FOREING KEY, son el resultado de unir 2 tablas, la PRIMARY KEY de la tabla principal, se hereda a la tabla secundaria como FOREING KEY

¿como?

Con la creacion de CONSTRAINS
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