2017-07-13 72 views
0

說我缺少左括號,但我不知道爲什麼SQL缺少左括號

CREATE TABLE PROJECT_STAFF 
(
    Prog_id NUMBER(5), 
    Project_id NUMBER(6), 
    Week_Year CHAR(5), 
    Hours_worked NUMBER(4,1) NOT NULL, 

    CONSTRAINT PROJECT_STAFF_Prog_id_pk PRIMARY KEY, 
    CONSTRAINT PROJECT_STAFF_Prog_id_fk REFERENCES PROG(Prog_id), 
    CONSTRAINT PROJECT_STAFF_Project_id_pk PRIMARY KEY, 
    CONSTRAINT PROJECT_STAFF_Project_id_fk REFERENCES PROJECT(Project_id), 
    CONSTRAINT PROJECT_STAFF_Week_Year_pk PRIMARY KEY, 
    CONSTRAINT PROJECT_STAFF_Hours_worked_ck CHECK (Hours_work > 0) 
); 
+2

爲什麼你有3個主鍵?此外,'CONSTRAINT PROJECT_STAFF_Prog_id_pk PRIMARY KEY,'列名在哪裏?只有約束名稱! –

回答

3

的外鍵引用需要參考的關鍵。因此,而不是:

CONSTRAINT PROJECT_STAFF_Prog_id_fk REFERENCES PROG(Prog_id), 

您需要:

CONSTRAINT PROJECT_STAFF_Prog_id_fk FOREIGN KEY (Prog_id) REFERENCES PROG(Prog_id), 

而且同上,用於其他的外鍵。

注意:內聯參考只能使用REFERENCES語法。但是一個約束需要完整的語法。