Funciona este codigo?

Pere
08 de Abril del 2005
CREATE TABLE Poblacio_cat(
pobcodi VARCHAR2(6) CONSTRAINT PK_Poblacio_cat PRIMARY KEY,
nom VARCHAR2(40) CONSTRAINT NN_Poblacio_catnom NOT NULL
);

CREATE TABLE cp_cat(
Pobcodi VARCHAR2(6) constraint FK_CP_CAT references Poblacio_cat (POBCODI),
Cp CHAR(5),
CONSTRAINT PK_cp_cat PRIMARY KEY (Pobcodi,cp)

);

ALTER TABLE Poblacio_cat DISABLE CONSTRAINT PK_Poblacio_cat CASCADE;
ALTER TABLE Poblacio_cat DISABLE CONSTRAINT NN_Poblacio_catnom;

ALTER TABLE cp_cat DISABLE CONSTRAINT PK_cp_cat CASCADE;
ALTER TABLE cp_cat DISABLE CONSTRAINT FK_cp_cat;

INSERT INTO Poblacio_cat SELECT pobcodi,nom FROM prbdp2005.Poblacio_cat;
INSERT INTO cp_cat SELECT pobcodi,cp FROM prbdp2005.cp_cat;

ALTER TABLE cp_cat ENABLE VALIDATE CONSTRAINT PK_cp_cat;
ALTER TABLE cp_cat ENABLE VALIDATE CONSTRAINT FK_cp_cat;

ALTER TABLE Poblacio_cat DISABLE CONSTRAINT PK_Poblacio_cat ;
ALTER TABLE Poblacio_cat DISABLE CONSTRAINT NN_Poblacio_catnom;

Este codigo no me funciona porque a la hora de habilitar la restriccion FK_cp_cat me dice que no hay claves unica para la fk.

He hecho algo mal? O son las filas que introduzco que estan repes? La verdad que lo de las filas no lo creo porque la base de datos la ha crado el profe i este no suele equivocarse.

Si me podeis hechar un cable seria de gran ayuda.

Muchas gracias a todos.

Pere

Pere
08 de Abril del 2005
JeJe, las dos ultimas lineas de codigo no les hagais caso, la que me interesa es esta linia
ALTER TABLE cp_cat ENABLE VALIDATE CONSTRAINT FK_cp_cat;

Muchas gracias de nuevo