【发布时间】:2018-02-24 20:53:25
【问题描述】:
这个查询有什么问题?
我收到以下错误:
ORA-00905:缺少关键字
00905. 00000 - “缺少关键字”
我的 SQL:
CREATE Table ORDERDET
(
ORDERID NUMBER,
CUSTID NUMBER,
PRODID NUMBER,
ORDPRIORITY VARCHAR2(15),
ORDDISCOUNT NUMBER(3,2),
ORDSHIPMODE VARCHAR2(15),
ORDDATE DATE,
ORDSHIPDATE DATE,
ORDSHIPCOST NUMBER(5,2),
ORDQTY NUMBER,
ORDSALES NUMBER(7,2),
CONSTRAINT ch_ORDPRIORITY
CHECK (ORDPRIORITY IN ('Low', 'Medium', 'High', 'Critical', 'Not Specified')),
CONSTRAINT ch_ORDSHIPMODE
CHECK (ORDSHIPMODE IN ('Regular Air','Delivery Truck','Express Air')),
CONSTRAINT pk_ORDERDET
PRIMARY KEY (ORDERID, CUSTID, PRODID),
CONSTRAINT fk_ORDERD
FOREIGN KEY (ORDERID) REFERENCES ORDERS (ORDERID) on DELETE RESTRICT,
CONSTRAINT fk_CUSTOMERORDER
FOREIGN KEY (CUSTID) REFERENCES CUSTOMERS (CUSTID) on DELETE RESTRICT,
CONSTRAINT fk_PRODUCTORDER
FOREIGN KEY (PRODID) REFERENCES PRODUCTS (PRODID) on DELETE RESTRICT
);
【问题讨论】:
-
ORA-00905: missing keyword 00905. 00000 - "missing keyword"是整个消息吗?不是也有行号吗? -
注释掉所有约束。尝试创建表。删除表并再次尝试一次添加一个约束。注意逗号和右括号。
-
从一开始就只有一个“错误从行:641 in command -”开始。