Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verweisen Sie auf einen zusammengesetzten Schlüssel in Oracle

Hat ACCREDITATION_BODY_LOOK_UP einen Primärschlüssel (oder eindeutigen Schlüssel)?

select constraint_name, constraint_type
from user_constraints
where table_name = 'ACCREDITATION_BODY_LOOK_UP'
and constraint_type in ('P', 'U'); 

Wenn ja, was sind seine Spalten? Sie müssen alle diese Spalten in derselben Reihenfolge referenzieren, wenn Sie einer abhängigen Tabelle einen Fremdschlüssel hinzufügen.

select column_name, position
from user_cons_columns
where table_name = 'ACCREDITATION_BODY_LOOK_UP'
and constraint_name = '<< constraint from previous query >>';

Wenn nein, müssen Sie einen Primärschlüssel für diese Tabelle erstellen, bevor Sie in einem Fremdschlüssel darauf verweisen können.

alter table ACCREDITATION_BODY_LOOK_UP
    add constraint ACCR_BODY_LKUP_PK primary key (ACCREDITATION_BODY_ID);