Problema al crear clave foranea 1 a n
Publicado por Freddy (1 intervención) el 22/09/2018 01:38:48
Buenas, estoy intentando crear una base de datos para un proyecto de la facultad. En dicha base de datos cuento con una relación 1 a n entre dos columnas. Al intentar crear la clave foranea Oracle me muestra un mensaje que dice:
Error SQL: ORA-02270: no hay ninguna clave única o primaria correspondiente para esta lista de columnas
02270. 00000 - "no matching unique or primary key for this column-list"
*Cause: A REFERENCES clause in a CREATE/ALTER TABLE statement
gives a column-list for which there is no matching unique or primary
key constraint in the referenced table.
*Action: Find the correct column names using the ALL_CONS_COLUMNS
catalog view
Estos son los comandos que ingreso:
Espero sus respuestas.
Muchas Gracias
Error SQL: ORA-02270: no hay ninguna clave única o primaria correspondiente para esta lista de columnas
02270. 00000 - "no matching unique or primary key for this column-list"
*Cause: A REFERENCES clause in a CREATE/ALTER TABLE statement
gives a column-list for which there is no matching unique or primary
key constraint in the referenced table.
*Action: Find the correct column names using the ALL_CONS_COLUMNS
catalog view
Estos son los comandos que ingreso:
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
26
27
28
29
30
31
32
33
34
35
36
CREATE TABLE
Usuarios(
Perf_Codigo INTEGER NOT NULL,
Usu_Codigo INTEGER NOT NULL,
Usu_Nombre VARCHAR(50) NOT NULL,
Usu_Apellido VARCHAR(50) NOT NULL,
Usu_NomAcceso VARCHAR(50) NOT NULL,
Usu_Contraseña VARCHAR(50) NOT NULL,
Usu_Correo VARCHAR(50) NOT NULL,
CONSTRAINT PK_Usuarios PRIMARY KEY (Perf_Codigo,Usu_Codigo),
CONSTRAINT UK_Usuarios UNIQUE (Usu_NomAcceso,Usu_Correo)
)TABLESPACE "USERS";
ALTER TABLE Usuarios
ADD CONSTRAINT FK_Usu_Perf
FOREIGN KEY (Perf_Codigo)
REFERENCES Perfiles(Perf_Codigo);
//Los anteriores comandos se ingresan y funcionan correctamente, en estos creo una clave foránea 1:n desde Perfiles a Usuarios//
CREATE TABLE
Recepcion(
Usu_Codigo INTEGER NOT NULL,
Rec_Codigo INTEGER NOT NULL,
Rec_Cantidad INTEGER NOT NULL,
Rec_Fecha DATE NOT NULL,
Rec_Comentario VARCHAR(50) NULL,
CONSTRAINT PK_Recepcion PRIMARY KEY(Usu_Codigo,Rec_Codigo)
)TABLESPACE "USERS";
ALTER TABLE Recepcion
ADD CONSTRAINT FK_Rec_Usu
FOREIGN KEY (Usu_Codigo)
REFERENCES Usuarios(Usu_Codigo);
//Aqui es donde creo tener el error, aqui trato de crear una clave foranea desde Usuarios a Recepcion y al ejecutar el segundo conjunto de comandos me lanza el mensaje que ya mostré//
Espero sus respuestas.
Muchas Gracias
Valora esta pregunta


0