0

所以,我对 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": invalid identifier。关于这个错误,我只能找到 SELECT 语句。

谢谢 :)

4

1 回答 1

0

您确实需要创建引用另一个表的列。喜欢

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)
);  
于 2013-05-02T11:27:31.297 回答