I’m creating a SQL database in Oracle. I have created this table:
x
CREATE TABLE LOC
(
LID INTEGER PRIMARY KEY,
CITY VARCHAR(50),
STREET VARCHAR(50),
SNUMBER VARCHAR(50)
);
And I tried creating a second table that has a foreign key referencing it:
CREATE TABLE STAFF
(
EID INTEGER PRIMARY KEY,
NAME VARCHAR(50),
SURNAME VARCHAR(50),
HIREDATE DATE,
FOREIGN KEY (LID) REFERENCES LOC(LID)
);
I get this error:
ORA-00904: “LID”: invalid identifier
00904. 00000 – “%s: invalid identifier”
Advertisement
Answer
Defining a foreign key on a column doesn’t create the column. You need to create the column first and then define it as a foreign key.
CREATE TABLE STAFF(
EID INTEGER PRIMARY KEY,
NAME VARCHAR(50),
SURNAME VARCHAR(50),
HIREDATE DATE,
LID INTEGER
FOREIGN KEY (LID) REFERENCES LOC(LID));