can anyone tell me what I've done wrong? I've tried changing a few things around but I keep getting the same error so I'm convinced that I've forgotten something. I hope someone can help
Error starting at line : 1 in command -
CREATE TABLE Player(
Plyr_ID int NOT NULL PRIMARY KEY,
Plyr_Fname NVARCHAR2(20),
Plyr_Sname NVARCHAR2(20),
Plyr_DOB date,
Plyr_Height DOUBLE,
Plyr_Weight double,
Plyr_position NVARCHAR2(20),
Plyr_experience int,
Team_ID INT NOT NULL,
CONSTRAINT fk_Team FOREIGN KEY (Team_ID) references Team(Team_ID)
);
Error report -
SQL Error: ORA-00905: missing keyword
00905. 00000 - "missing keyword"
*Cause:
*Action:
Here's the Team table I'm referring to:
CREATE TABLE Team(
Team_ID int NOT NULL PRIMARY KEY,
Team_Name NVARCHAR2(50),
Team_Homecourt nvarchar2(50)
);
Instead of double
you can try to use NUMBER (precision, scale)
. So try something like this:
CREATE TABLE Player(
Plyr_ID int NOT NULL PRIMARY KEY,
Plyr_Fname NVARCHAR2(20),
Plyr_Sname NVARCHAR2(20),
Plyr_DOB date,
Plyr_Height NUMBER(7,2), --Change as per your requirement.
Plyr_Weight NUMBER(7,2),
Plyr_position NVARCHAR2(20),
Plyr_experience int,
Team_ID INT NOT NULL,
CONSTRAINT fk_Team FOREIGN KEY (Team_ID) references Team(Team_ID)
);
NOTE : double precision
is ANSI-supported datatypes whereas NUMBER
is Oracle built-in datatypes
So if you want you can stick to double using precision as:
CREATE TABLE Player(
Plyr_ID int NOT NULL PRIMARY KEY,
Plyr_Fname NVARCHAR2(20),
Plyr_Sname NVARCHAR2(20),
Plyr_DOB date,
Plyr_Height DOUBLE PRECISION,
Plyr_Weight DOUBLE PRECISION,
Plyr_position NVARCHAR2(20),
Plyr_experience int,
Team_ID INT NOT NULL,
CONSTRAINT fk_Team FOREIGN KEY (Team_ID) references Team(Team_ID)
);
You should not use limit for int type...oracle will take default length for int type . Instead of int you can use Number type to make it run. And DOUBLE PRECISION is a data type in oracle but Double is not there.
CREATE TABLE Player(
Plyr_ID int NOT NULL PRIMARY KEY,
Plyr_Fname NVARCHAR2(20),
Plyr_Sname NVARCHAR2(20),
Plyr_DOB date,
Plyr_Height DOUBLE PRECISION,
Plyr_Weight DOUBLE PRECISION,
Plyr_position NVARCHAR2(20),
Plyr_experience int,
Team_ID INT NOT NULL,
CONSTRAINT fk_Team FOREIGN KEY (Team_ID) references Team(Team_ID)
);
Use NUMBER (precision, scale) instead of DOUBLE
CREATE TABLE Player(
Plyr_ID int NOT NULL PRIMARY KEY,
Plyr_Fname NVARCHAR2(20),
Plyr_Sname NVARCHAR2(20),
Plyr_Dob Date,
Plyr_Height Number(10,2),
Plyr_Weight NUMBER(10,2),
Plyr_position NVARCHAR2(20),
Plyr_experience int,
Team_ID INT NOT NULL,
CONSTRAINT fk_Team FOREIGN KEY (Team_ID) references Team(Team_ID)
);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.