使用主键和外键在sql developer中创建表

时间:2014-09-16 10:56:24

标签: sql oracle

我正在尝试使用以下语法为sql developer创建一个包含主键和外键的表,但它无效。

谁能看到我哪里出错了?

CREATE Athlete
(
    ATHLETEID CHAR(4) NOT NULL,
    ATHLETEFIRSTNAME VARCHAR2(20),
    ATHLETELASTNAME VARCHAR2(20),
    ATHLETEDOB DATE,
    REPCOUNTRY VARCHAR2(12),
    COACHID CHAR(4) NOT NULL,

    CONSTRAINT ATHLETE_PK PRIMARY KEY (ATHLETEID),
    CONSTRAINT ATHLETE_FK FOREIGN KEY (COACHID) REFERENCES COACH(COACHID) 

);

3 个答案:

答案 0 :(得分:4)

您忘记了TABLE关键字。

CREATE TABLE Athlete
(
    ATHLETEID CHAR(4) NOT NULL,
    ATHLETEFIRSTNAME VARCHAR2(20),
    ATHLETELASTNAME VARCHAR2(20),
    ATHLETEDOB DATE,
    REPCOUNTRY VARCHAR2(12),
    COACHID CHAR(4) NOT NULL,

    CONSTRAINT ATHLETE_PK PRIMARY KEY (ATHLETEID),
    CONSTRAINT ATHLETE_FK FOREIGN KEY (COACHID) REFERENCES COACH(COACHID) 

);

答案 1 :(得分:2)

这应该有效

首先创建表,然后尝试更改表

ALTER TABLE Athlete ADD CONSTRAINT ATHLETE_PK PRIMARY KEY (ATHLETEID);

为外键试试这个

ALTER TABLE Athlete ADD CONSTRAINT ATHLETE_FK FOREIGN KEY (COACHID) REFERENCES COACH(COACHID);

答案 2 :(得分:0)

CREATE TABLE Athlete  (
ATHLETEID CHAR(4) NOT NULL, 
ATHLETEFIRSTNAME VARCHAR2(20), 
ATHLETELASTNAME VARCHAR2(20), 
ATHLETEDOB  DATE, 
REPCOUNTRY VARCHAR2(12), 
COACHID CHAR(4) NOT NULL,

CONSTRAINT ATHLETE_PK PRIMARY KEY (ATHLETEID), 
CONSTRAINT ATHLETE_FK FOREIGN KEY (COACHID)    REFERENCES COACH(COACHID)

);