Reputation: 1
I'm trying to create a table with primary and foreign keys using following syntax for sql developer but it is not working.
Can anyone see where I am going wrong?
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)
);
Upvotes: 0
Views: 2918
Reputation: 625
this should work
just create table first and then try to alter the table
ALTER TABLE Athlete
ADD CONSTRAINT ATHLETE_PK PRIMARY KEY (ATHLETEID);
for foreign key try this
ALTER TABLE Athlete
ADD CONSTRAINT ATHLETE_FK
FOREIGN KEY (COACHID)
REFERENCES COACH(COACHID);
Upvotes: 2
Reputation: 393
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)
);
Upvotes: 0
Reputation: 16641
You forgot the TABLE keyword.
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)
);
Upvotes: 4