Kesalahannya adalah karena KUNCI ASING adalah satu kolom, tetapi Anda mencoba menyediakan dua kolom sebagai induknya. Tidak perlu mengikat ke kunci komposit, karena restrictedgroups
tidak memiliki personid
kolom...
Anda juga memiliki hubungan terbalik - gunakan:
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)
);
Saya akan menambahkan batasan kunci asing untuk tabel apa pun personid
akan datang dari.