我完全停留在Sql Oracle數據庫中。父鍵未找到
我想在我的表Course_section補充:
Insert into Course_Section (CsectionID, MaxCapacity, CourseID, TermID, LocID)
values('14', '10', '2', '1', '1');
和
Insert into Course_Section (CsectionID, MaxCapacity, CourseID, TermID, LocID)
values('15', '10', '3', '1', '1');
,當我試圖插入第一個它告訴我,父鍵沒有被發現。 所以我試圖建立在我的表場兩行這將對我以後會使用相同的CourseID,但它不工作...
,對不起,我還是個初學者:)
Create table Course
(
CourseName Varchar2(100) not null,
CourseID number(6) PRIMARY KEY,
Credits number(6)
);
Create table TERM
(
TermID number(6) PRIMARY KEY,
Description Varchar2(100) not null
)
;
Create table LOCATION
(
LocID number(6) PRIMARY KEY,
Building Varchar2(100) NOT NULL,
Room Number(4)
)
;
Create table Student
(
StudID number(6) PRIMARY KEY,
Sname Varchar2(100) NOT NULL,
Birthdate DATE
)
;
Create table Enrollment
(
StudID number(6) PRIMARY KEY,
CSectionID number(6),
FOREIGN KEY (CsectionID) references Student (StudID),
GRADE number(2)
)
;
Create table Course_Section
(
CSectionID number(6) PRIMARY KEY,
MaxCapacity number(3) NOT NULL,
CourseID number(6),
FOREIGN KEY (COURSEID) REFERENCES COURSE (COURSEID),
TermID number(6),
Foreign Key (TERMID) references TERM (termID),
LocID number(6),
Foreign Key (LocID) references Location (locID)
)
;
Insert into COURSE (CourseName, CourseID, Credits)
values('Base de données', '1', '3');
您應該刪除課程表中courseid和creedits值的引號,因爲它們被聲明爲Number。你應該在其他插入語句中同樣做 –
@vkp - 很好的觀察,但這不是問題。 Oracle將盡最大努力轉換給出的字符串以匹配目標列的類型。在這種情況下,還有另一個問題 - 請參閱下面的答案。 –
是的,我在評論後看到了答案中提到的確切問題。他插入的值可能翻轉過來。 –