ORA-00904: "CITYCODE": неверный идентификатор в CREATE TABLE

Итак, я не очень хорошо с sql и пытаюсь использовать две великолепные таблицы. один называется CITY с PK Citycode и Warehouse, который использует Citycode в качестве FK. И я не удивлен, если даже это не так.

Это мои два запроса CREATE:

CREATE TABLE City
(
citycode        number(2),
cityname        varchar2(30),
Population      number(7),
Primary Key     (citycode)
);
CREATE TABLE Warehouse
(
whid            number(2),
address         varchar2(30),
capacity        number(7),
capacity_used   number(7),
mgrname         varchar2(30),
mgrgender       varchar2(1),
Primary Key     (whid),
Foreign Key     (citycode) REFERENCES City
);  

Затем, когда я запускаю их в iSQL, я получаю ошибку ORA-00904: "CITYCODE": неверный идентификатор. Все, что я могу найти об этой ошибке, с помощью операторов SELECT.

Спасибо:)

1 ответ

Вам нужно создать столбец, который ссылается на другую таблицу. подобно

CREATE TABLE City
(
citycode        number(2),
cityname        varchar2(30),
Population      number(7),
constraint city_pk
                PRIMARY KEY     (citycode)
);

CREATE TABLE Warehouse
(
whid            number(2),
address         varchar2(30),
capacity        number(7),
capacity_used   number(7),
mgrname         varchar2(30),
mgrgender       varchar2(1),
citycode        number(2), <-- note this one
constraint warehouse_pk
                PRIMARY KEY     (whid),
constraint warehouse_fk
                FOREIGN KEY     (citycode)
                REFERENCES City (citycode)
);  
Другие вопросы по тегам