我无法创建表错误ORA_00903

时间:2017-10-22 07:26:07

标签: sql oracle

DROP TABLE Orders CASCADE CONSTRAINTS;

DROP TABLE Order_Items CASCADE CONSTRAINTS;

CREATE TABLE Orders (

    ORDER_NO VARCHAR(5),
    ORDER_DATE DATE CONSTRAINT BNL_ORDER_DATE_NN NOT NULL,
    CUSTOMER_NAME VARCHAR(20) CONSTRAINT BNL_CUSTOMER_NAME_NN NOT NULL,
    POSTAGE NUMBER(5,2) CONSTRAINT BNL_POSTAGE_NN NOT NULL,
    TOTAL NUMBER(10,2) CONSTRAINT BNL_TOTAL_NN NOT NULL,
    CONSTRAINT ORD_ID_PK PRIMARY KEY (ORDER_NO)
    );

CREATE TABLE Order_ITEMS (

    ITEM_NO VARCHAR(10),
    ITEM_DES VARCHAR(20),
    IETM_SIZE VARCHAR(5) CONSTRAINT ITE_ITEM_SIZE_NN NOT NULL,
    ITEM_COST NUMBER(10,2) CONSTRAINT ITE_ITEM_COST_NN NOT NULL,
    QTY NUMBER(5) CONSTRAINT ITE_QTY_NN NOT NULL,
    ORDER_NO NUMBER(5),
    CONSTRAINT ITE_ID_PK PRIMARY KEY (ITEM_NO),
    CONSTRAINT ITE_ORD_FK FOREIGN KEY(ORDER_NO)
    REFERENCES ORDER(ORDER_NO)
    );

Orders表正在运行,但Order_Items表无效,显示错误ORA_00903。我更改了许多其他名称,但仍显示错误ORA-00903: invalid table name

1 个答案:

答案 0 :(得分:1)

您的外键约束不正确:

CONSTRAINT ITE_ORD_FK FOREIGN KEY(ORDER_NO)
REFERENCES ORDER(ORDER_NO)
                ^

您已将引用的表命名为ORDER而不是ORDERS。