Błąd jest spowodowany tym, że FOREIGN KEY to jedna kolumna, ale próbujesz podać dwie kolumny jako element nadrzędny. Nie ma potrzeby wiązania się z kluczem złożonym, ponieważ restrictedgroups
nie ma personid
kolumna...
Masz również relację odwrotną - użyj:
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)
);
Dodałbym ograniczenie klucza obcego dla dowolnej tabeli personid
będzie pochodzić.