Chyba je způsobena tím, že FOREIGN KEY je jeden sloupec, ale vy se pokoušíte zadat dva sloupce jako nadřazený. Není třeba se vázat na složený klíč, protože restrictedgroups
nemá personid
sloupec...
Vztah máte i obráceně – použijte:
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)
);
Přidal bych omezení cizího klíče pro jakoukoli tabulku personid
by pocházel z.