簡體   English   中英

如何添加外鍵倍數“ ORA-02270:此列列表沒有匹配的唯一鍵或主鍵”

[英]How to add multiples of foreign key “ORA-02270: no matching unique or primary key for this column-list”

create table coc (
WS_NO number(10,0) PRIMARY KEY,
last_name varchar2(30),
first_name varchar2(30),
middle_initial varchar2(1),
Email varchar2(2),
contact_no varchar2(11),
date_to_be_submitted date,
applicant_id number(10,0),
company_name VARCHAR2(50),
plant_location VARCHAR2(50),
sample_id number(10,0),
sample_name VARCHAR2(50),
parameters VARCHAR2(50),
CONSTRAINT APPLICANT_FK FOREIGN KEY (applicant_id, company_name, plant_location) REFERENCES APPLICANT (applicant_id, company_name, plant_location),
CONSTRAINT SAMPLE_FK FOREIGN KEY (sample_id, sample_name, parameters) REFERENCES SAMPLE (sample_id, sample_name, parameters));

我認為錯誤消息很清楚。 您在外鍵約束中提到了列,但未定義。 如果希望它們引用其他內容,則需要定義它們:

create table coc (
    WS_NO number(10,0) PRIMARY KEY,
    last_name varchar2(30),
    first_name varchar2(30),
    middle_initial varchar2(1),
    Email varchar2(2),
    contact_no varchar2(11),
    date_to_be_submitted date,
    applicant_id ??,
    company_name ??,
    plant_location ??,
    sample_id ??,
    sample_name ??,
    CONSTRAINT APPLICANT_FK FOREIGN KEY (applicant_id, company_name, plant_location) REFERENCES APPLICANT (applicant_id, company_name, plant_location),
    CONSTRAINT SAMPLE_FK FOREIGN KEY (sample_id, sample_name, parameters) REFERENCES SAMPLE (sample_id, sample_name, plant_location)
);

切記:類型必須與原始表中的類型相同。

列集(applicant_id,company_name,plant_location)和(sample_id,sample_name,參數)必須在引用的表APPLICANT和SAMPLE中設置為唯一鍵或主鍵。 通過從ALL_CONS_COLUMNS中按table_name篩選選擇,進行檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM