sql >> Base de Datos >  >> RDS >> Oracle

Pregunta de clave principal compuesta / clave externa de Oracle

El error se debe a que FOREIGN KEY es una columna, pero está intentando proporcionar dos columnas como principal. No hay necesidad de vincularse a la clave compuesta, porque los restrictedgroups no tiene un personid columna...

También tienes la relación al revés:usa:

CREATE TABLE restrictedgroups ( 
  groupid number, 
  name varchar2(50), 
  dateadded date, 
  since date, 
  notes varchar2(1024), 
  CONSTRAINT pk_groupid PRIMARY KEY(groupid)
);

CREATE TABLE groupspersonx ( 
  personid number, 
  groupid number, 
  CONSTRAINT pk_persongroupid PRIMARY KEY(personid, groupid),
  CONSTRAINT fk_persongroup FOREIGN KEY(groupid) REFERENCES restrictedgroups(groupid) 
); 

Agregaría una restricción de clave externa para cualquier tabla personid vendría.