espero y me puedan ayudar.
resulta que estoy creando una tabla la cual contiene 2 claves primarias. estoy haciendo esto de la siguiente manera:
create table DatosPrincipales( CodigoPrincipal char(10) not null, CodigoSecundario char(3) not null, NombreProducto char(50) not null, CantidadProducto int null default 0, primary key(CodigoPrincipal,CodigoSecundario) )
hasta aquí, no hay problemas, pero, cuando voy a crear la siguiente tabla, en al cual, debo tener 2 claves foraneas referenciadas a as creadas en la tabla 1(DatosPrincipales) me saca el siguiente error:There are no primary or candidate keys in the referenced table 'DatosPrincipales' that match the referencing column list in the foreign key 'Fk_CodigoPrincipal_DatosSecundarios'.
la primer manera que intenté para crear la segunda tabla con las dos claves foranesas es esta:
create table DatosSecundarios ( Id int identity(1,1) primary key not null, CodigoPrincipal char(10) foreign key (CodigoPrincipal)References DatosPrincipales(CodigoPrincipal)not null, CodigoSecundario char(3) foreign key (CodigoSecundario)References DatosPrincipales(CodigoSecundario)not null, nombreClinte char(50) NOT NULL, observaciones char (200) null default '' )
la segunda es esta: create table DatosSecundarios ( Id int identity(1,1) not null, --CodigoPrincipal char(10) foreign key (CodigoPrincipal) references DatosPrincipales(CodigoPrincipal)not null, CodigoPrincipal char(10)not null, CodigoSecundario char(3) not null, nombreClinte char(50) NOT NULL, observaciones char (200) null default '', primary key (Id), Constraint CodigoPrincipal foreign key (CodigoPrincipal)References DatosPrincipales(CodigoPrincipal), Constraint Fk_CodigoSecundario_DatosSecundarios foreign key (CodigoSecundario)References DatosPrincipales(CodigoSecundario) )
muchas gracias.