-4

列自体を参照する外部キーを追加したい

FOREIGN KEY ACCREDITATION_BODY_ID NOT NULL REFERENCES
ACCREDITATION_BODY_LOOK_UP(ACCREDITATION_BODY_ID), 

テーブル内の SQL は次のとおりです。

CREATE TABLE  "COURSE_ACCREDITED" 
      ("COURSE_ID" VARCHAR2(50) NOT NULL ENABLE, 
"ACCREDITATION_BODY_ID" VARCHAR2(50) NOT NULL ENABLE, 
"DATE_OBTAINED" VARCHAR2(50), 
 PRIMARY KEY ("COURSE_ID", "ACCREDITATION_BODY_ID", "DATE_OBTAINED") ENABLE)

この外部キーを追加すると、ORA-02270: no matching unique or primary key for this column-list と表示されます

何が問題ですか?

4

2 に答える 2

-1

これは、親テーブルにない値が子テーブルにあることを意味します。

これらの孤立した値を削除するか、子テーブルと親テーブルの間の整合性のチェックをスキップする「novalidate」で外部キーを定義するだけです。

訂正: このアドレスは異なる PK/FK エラーです

ORA-02270 は、外部キーを作成しようとしていて、そのキーが一意制約を持つ主キーまたは列を参照していないためです。

于 2013-04-30T01:52:46.077 に答える