Oracle
 sql >> Database >  >> RDS >> Oracle

Domanda su chiave primaria/chiave esterna composita Oracle

L'errore è dovuto al fatto che FOREIGN KEY è una colonna, ma stai cercando di fornire due colonne come padre. Non è necessario collegarsi alla chiave composta, perché i restrictedgroups non ha un personid colonna...

Hai anche la relazione all'indietro: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) 
); 

Aggiungerei un vincolo di chiave esterna per qualsiasi tabella il personid verrebbe da.