Bad*_*der 7 sql oracle ora-00907
我正在尝试创建表(orderdetails2); 该表在两个FK列上有两个FK和一个PK.这是我的代码:
create table OrderDetails2 (
PFOrder_ID Number(3) FOREIGN KEY REFERENCES Orderr(Order_ID),
PFProduct_ID Number(3) FOREIGN KEY REFERENCES Product(Product_ID),
CONSTRAINT PF PRIMARY KEY (PFOrder_ID,PFProduct_ID),
CONSTRAINT FK_1 FOREIGN KEY (PFProudct_ID)
REFERENCES Product(Product_ID),
CONSTRAINT FK_2 FOREIGN KEY (PFOrder_ID)
REFERENCES Orderr(Order_ID),
Run Code Online (Sandbox Code Playgroud)
create table OrderDetails2 (
PFOrder_ID Number(3)
PFProduct_ID Number(3)
CONSTRAINT PF PRIMARY KEY (PFOrder_ID,PFProduct_ID),
CONSTRAINT FK_1 FOREIGN KEY (PFProudct_ID) REFERENCES Product(Product_ID),
CONSTRAINT FK_2 FOREIGN KEY (PFOrder_ID) REFERENCES Orderr(Order_ID)
);
Run Code Online (Sandbox Code Playgroud)
我正在使用Oracle Express.运行代码时弹出一个问题.这是(对于版本1):
ORA-00907: missing right parenthesis
Run Code Online (Sandbox Code Playgroud)
问题是什么?
从代码的变体开始:
create table OrderDetails2 (
PFOrder_ID Number(3)
PFProduct_ID Number(3)
CONSTRAINT PF PRIMARY KEY (PFOrder_ID,PFProduct_ID),
CONSTRAINT FK_1 FOREIGN KEY (PFProudct_ID) REFERENCES Product(Product_ID),
CONSTRAINT FK_2 FOREIGN KEY (PFOrder_ID) REFERENCES Orderr(Order_ID)
);
Run Code Online (Sandbox Code Playgroud)
在 之后PFOrder_ID NUMBER(3)
和之后缺少逗号PFPoduct_ID NUMBER(3)
。
CREATE TABLE OrderDetails2
(
PFOrder_ID NUMBER(3),
PFProduct_ID NUMBER(3),
CONSTRAINT PF PRIMARY KEY (PFOrder_ID, PFProduct_ID),
CONSTRAINT FK_1 FOREIGN KEY (PFProduct_ID) REFERENCES Product(Product_ID),
CONSTRAINT FK_2 FOREIGN KEY (PFOrder_ID) REFERENCES Orderr(Order_ID)
);
Run Code Online (Sandbox Code Playgroud)
PRIMARY KEY 子句必须与 PFProduct_ID 列分开,因为它是一个复合键。(是否Orderr
拼写正确?)而PFProudct_ID
在原文中是不正确的。如果您是一名程序员,您必须能够始终如一地拼写(即使在更广泛的写作意义上不正确)。