Oracle
 sql >> Database >  >> RDS >> Oracle

fare riferimento a una chiave composta in Oracle

ACCREDITATION_BODY_LOOK_UP ha una chiave primaria (o una chiave univoca)?

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

Se sì, quali sono le sue colonne? Devi fare riferimento a tutte quelle colonne nello stesso ordine quando aggiungi una chiave esterna a una tabella dipendente.

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

In caso negativo, devi creare una chiave primaria su quella tabella prima di poterla fare riferimento in una chiave esterna.

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