2013-05-02 72 views
0

所以,我不是很擅长sql,而我正试图找到两个很棒的表。一个叫CITY,PK是Citycode,而仓库是用Citycode作为FK。即使这是错误的,我也不会感到惊讶。ORA-00904:“CITYCODE”:CREATE TABLE中的无效标识

这是我的两个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语句。

谢谢:)

回答

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) 
); 
+0

哦,我现在看到了。我在处理约束方面遇到了一些麻烦,但现在已经非常有意义了!这些例子与您正在处理的内容不匹配很难。非常感谢! (我不能投票答复,因为我很新,但你应得的!) – lockykeaney 2013-05-03 03:37:24