Reputation: 1
error : ORA-00905: missing keyword
THE STATEMENT :
create table Register(
stdno char(5) ,
courseId char(8) ,
SemesterId char(5) ,
mark decimal (4,2) check (mark between 0.00 and 100.00),
constraint fK_student foreign key (stdno) references student (stdno)on update cascade on delete cascade ,
constraint fK_course foreign key (courseId) references course (courseId)on update cascade on delete cascade ,
constraint fK_Semester foreign key (SemesterId) references Semester (SemesterId)on update cascade on delete cascade ,
constraint pK_Register primary key (stdno , courseid , SemesterId)
);
I am trying to use on delete cascade option on oracle but it gave me that error . Also i did the same thing on oracle live
Upvotes: 0
Views: 57
Reputation: 142720
There's no ON UPDATE
clause in Oracle. Without it:
SQL> CREATE TABLE Register
2 (
3 stdno CHAR (5),
4 courseId CHAR (8),
5 SemesterId CHAR (5),
6 mark DECIMAL (4, 2) CHECK (mark BETWEEN 0.00 AND 100.00),
7 CONSTRAINT fK_student FOREIGN KEY (stdno)
8 REFERENCES student (stdno) ON DELETE CASCADE,
9 CONSTRAINT fK_course FOREIGN KEY (courseId)
10 REFERENCES course (courseId) ON DELETE CASCADE,
11 CONSTRAINT fK_Semester FOREIGN KEY (SemesterId)
12 REFERENCES Semester (SemesterId) ON DELETE CASCADE,
13 CONSTRAINT pK_Register PRIMARY KEY (stdno, courseid, SemesterId)
14 );
Table created.
SQL>
Upvotes: 1