Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ORA-02270:nenhuma chave exclusiva ou primária correspondente para esta lista de colunas


Você está criando uma chave composta (ou composta) tornando este primário:
("COURSE_ID", "ACCREDITATION_BODY_ID", "DATE_OBTAINED")

e então, você tenta fazer ACCREDITATION_BODY_ID uma chave estrangeira, referenciando a mesma coluna na mesma tabela. Não sei o que você está tentando alcançar, mas de qualquer forma, não a maneira correta de fazer.

Na minha opinião, O motivo é: ACCREDITATION_BODY_ID deve ser uma chave primária para ser referenciada como uma chave estrangeira, mas esse não é o caso aqui. A restrição da sua tabela é uma chave composta , e você precisa fazer referência a todos as colunas na instrução de chave estrangeira. (me corrija se eu estiver errado)

Tente fazer referência a todas as colunas de chave composta na instrução de chave estrangeira. Isso pode resolver seu problema.

A propósito, referenciar uma chave primária como uma chave estrangeira na mesma tabela não fazia sentido para mim (talvez esteja faltando alguma coisa, mas ainda assim ..). Eu consideraria mudar o design.