De fout is dat de FOREIGN KEY één kolom is, maar u probeert twee kolommen op te geven als bovenliggende kolom. Het is niet nodig om de samengestelde sleutel te koppelen, omdat de restrictedgroups
heeft geen personid
kolom...
Je hebt ook de relatie omgekeerd - gebruik:
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)
);
Ik zou een externe sleutelbeperking toevoegen voor welke tabel dan ook de personid
vandaan zou komen.