Claves foráneas
Publicado por tamara (2 intervenciones) el 05/08/2010 13:09:07
Buenos días!
tengo un problema...
He creado una tabla:
create table cpn_rec_internacio(
cod_desc char(10) not null upshift label "Código",
idioma char(2) not null upshift label "Idioma",
contenido char(30) upshift label "Descripción");
alter table cpn_rec_internacio
primary key(cod_desc,idioma);
Y ahora tengo que crear otra:
create table tipo_peticion(
cod_tippet smallint not null label "Código",
des_tippet char(30) upshift label "Descripción",
estudio char(1) upshift check ($ in ('S','N')) default "N" label "Estudio",
activo char(1) upshift check ($ in (0,1)) default 0 label "Activo",
cod_desc char(10) upshift label "Etiqueta con descripción");
alter table tipo_peticion
primary key (cod_tippet);
alter table tipo_peticion
foreign key f_tipopet_1(cod_desc) references cpn_rec_internacio(cod_desc)
on update restrict
on delete restrict;
-------------------------------------------------
El problema es que no me funciona lo de foreign key porque cpn_rec_internacio tiene COD_DESC pero tipo_peticion tiene como primarias COD_DESC,IDIOMA.
Al ejecutarlo me dice: "Faltan componentes de la clave en la lista de columnas"
Imagino que en la parte de tipo_peticion debería tener dos columnas y no una, y en la parte de cpn_rec_internacio, poner las dos columnas que conforman la clave primaria.
¿Alguien me puede ayudar, por favor?
Gracias. Un saludo.
tengo un problema...
He creado una tabla:
create table cpn_rec_internacio(
cod_desc char(10) not null upshift label "Código",
idioma char(2) not null upshift label "Idioma",
contenido char(30) upshift label "Descripción");
alter table cpn_rec_internacio
primary key(cod_desc,idioma);
Y ahora tengo que crear otra:
create table tipo_peticion(
cod_tippet smallint not null label "Código",
des_tippet char(30) upshift label "Descripción",
estudio char(1) upshift check ($ in ('S','N')) default "N" label "Estudio",
activo char(1) upshift check ($ in (0,1)) default 0 label "Activo",
cod_desc char(10) upshift label "Etiqueta con descripción");
alter table tipo_peticion
primary key (cod_tippet);
alter table tipo_peticion
foreign key f_tipopet_1(cod_desc) references cpn_rec_internacio(cod_desc)
on update restrict
on delete restrict;
-------------------------------------------------
El problema es que no me funciona lo de foreign key porque cpn_rec_internacio tiene COD_DESC pero tipo_peticion tiene como primarias COD_DESC,IDIOMA.
Al ejecutarlo me dice: "Faltan componentes de la clave en la lista de columnas"
Imagino que en la parte de tipo_peticion debería tener dos columnas y no una, y en la parte de cpn_rec_internacio, poner las dos columnas que conforman la clave primaria.
¿Alguien me puede ayudar, por favor?
Gracias. Un saludo.
Valora esta pregunta


0