我有多個表,需要幫助SQL錯誤(ORA-02270):沒有此列列表匹配的唯一或主鍵錯誤
- 學生(StudentID [PK],StudentName)
-Qualified (FID [PK],CourseID [PK],dateQ)
-Faculty(FID [PK],FNAME)
道菜的(CourseID [PK],CourseName)
,我需要創建另外2個是Se ction和註冊。
-section(SectionNo [PK],學期[PK],CourseID [PK])
-Registration(StudentID [PK],SectionNo [PK],學期[PK])
我第一沒有任何問題創造部分:
create table section(
SectionNo number(28) not null,
Semester varchar(25) not null,
CourseID varchar(25) not null,
constraint sec_pk primary key(SectionNo,Semester,CourseID),
constraint sec_fk foreign key(CourseID) references Course(CourseID)
on delete cascade);
然後我試圖創建一個名爲登記表,但它給我的錯誤的稱號。
create table registration(
StudentID number(28) not null,
SectionNo number(28) not null,
Semester varchar(25) not null,
constraint reg_pk primary key(SectionNo,StudentID,Semester),
constraint reg_fk foreign key(StudentID) references Student(StudentID)
on delete cascade,
constraint reg_fk2 foreign key(SectionNo,Semester) references
Section(SectionNo,Semester) on delete cascade);
有人能幫我找出問題是什麼嗎?
的問題是,「CourseID」沒有在第表中找到,所以我不能添加到我的外鍵聲明 –
我不知道是什麼你的意思是在這裏,我可以清楚地看到列: 「CourseID varchar(25)not null」 以及contraint定義主鍵上柱: 「約束sec_pk主鍵(SectionNo,學期,CourseID)」 – subodhkarwa
這是你想要什麼我添加到我的代碼?約束reg_fk2外鍵(SectionNo,Semester)參考 Section(SectionNo,Semester,CourseID)上刪除級聯); –