My problem: I get the same error on the tables: Tasks, TimeSheet, TimeSheetHour.
I still don’t have any idea on what keywords did I missed.
Here is the error I got in Tasks table: (same with other tables)
May I know which keywords did I missed on the following tables?
-- what keywords did I missed here? CREATE TABLE Tasks( IdTask NUMBER(10,0) NOT NULL, IdProject NUMBER(10,0) NOT NULL, Task_Name VARCHAR2(100) NOT NULL, Task_Description VARCHAR2(100), StartDate DATE NOT NULL, EndDate DATE NOT NULL, CreatedAt VARCHAR2(50), UpdatedAt VARCHAR2(50), Enabled CHAR(10), CONSTRAINT IdTask_PK PRIMARY KEY (IdTask), CONSTRAINT IdProject_FK FOREIGN KEY (IdProject) REFERENCE Project_T(IdProject) ); -- what keywords did I missed here? CREATE TABLE TimeSheet( IdTimeSheet NUMBER(10,0) NOT NULL, IdUser NUMBER(10,0) NOT NULL, IdProject NUMBER(10,0) NOT NULL, TimeSheet_Name VARCHAR2(100) NOT NULL, TimeSheet_Description VARCHAR2(200), CreatedAt VARCHAR2(50), UpdatedAt VARCHAR2(50), Enabled CHAR(10), CONSTRAINT IdTimeSheet_PK PRIMARY KEY (IdTimeSheet), CONSTRAINT IdProject_FK FOREIGN KEY (IdProject) REFERENCE Project_T(IdProject), CONSTRAINT IdUser_FK FOREIGN KEY (IdUser) REFERENCE User_T(IdUser) ); -- what keywords did I missed here? CREATE TABLE TimeSheetHour( IdTimeSheetHour NUMBER(10,0) NOT NULL, IdTimeSheet NUMBER(10,0) NOT NULL, IdUser NUMBER(10,0) NOT NULL, IdTimeCategory NUMBER(10,0) NOT NULL, IdTask NUMBER(10,0) NOT NULL, Quantity NUMBER(5,0) NOT NULL, TimeSheetHour_Description VARCHAR2(200), CONSTRAINT IdTimeSheetHour_PK PRIMARY KEY (IdTimeSheetHour), CONSTRAINT IdTimeSheet_FK FOREIGN KEY (IdTimeSheet) REFERENCE (TimeSheet), CONSTRAINT IdUser_FK FOREIGN KEY (IdUser) REFERENCE (User_T), CONSTRAINT IdTimeCategory_FK FOREIGN KEY (IdTimeCategory) REFERENCE (TimeCategory), CONSTRAINT IdTask_FK FOREIGN KEY (IdTask) REFERENCE Tasks(IdTask) );
Advertisement
Answer
The keyword is REFERENCES
not REFERENCE
.
Then you have constraints with duplicate names IdProject_FK
.
Then you have foreign key constraints where you do not specify the table being referenced.
I.e.:
CONSTRAINT IdTimeSheet_FK FOREIGN KEY (IdTimeSheet) REFERENCE (TimeSheet)
Should be:
CONSTRAINT IdTimeSheet_FK FOREIGN KEY (IdTimeSheet) REFERENCES TimeSheet(IdTimeSheet)
or, without the braces and the explicit column name:
CONSTRAINT IdTimeSheet_FK FOREIGN KEY (IdTimeSheet) REFERENCES TimeSheet