O erro é porque a FOREIGN KEY é uma coluna, mas você está tentando fornecer duas colunas como pai. Não há necessidade de vincular à chave composta, porque os
restrictedgroups
não tem um personid
coluna... Você também tem o relacionamento invertido - use:
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)
);
Eu adicionaria uma restrição de chave estrangeira para qualquer tabela que o
personid
estaria vindo.