【问题标题】:ORA-00904: "CITYCODE": invalid identifier in CREATE TABLEORA-00904: "CITYCODE": CREATE TABLE 中的标识符无效
【发布时间】:2013-05-02 11:22:41
【问题描述】:

所以,我对 sql 不是很好,我正在尝试 jsut 两个很棒的表。一个叫 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 语句。

谢谢:)

【问题讨论】:

    标签: identifier ora-00904


    【解决方案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)
    );  
    

    【讨论】:

    • 哦,我现在明白了。我在掌握约束方面有些困难,但现在这很有意义!当示例与您正在处理的内容不匹配时,这很难。非常感谢! (我不能投票给答案,因为我太新了,但你应得的!)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 2022-01-22
    • 2019-06-29
    相关资源
    最近更新 更多