如何解决ORA-00907:缺少右括号错误?

时间:2019-03-12 13:22:07

标签: sql oracle

我在此代码中找不到错误,它显示 ORA-00907:缺少右括号 。我正在Oracle Live SQL上执行此操作。

CREATE table Final_chart 
( 
T_id int FOREIGN KEY REFERENCES Train(T_id), 
User_id varchar(10) FOREIGN KEY REFERENCES Passenger(User_id), 
Seat_id int FOREIGN KEY REFERENCES Train_Seats(Seat_id), 
CONSTRAINT PNR PRIMARY KEY (T_id,User_id,Seat_id)  
)

CREATE table Train_seats  
(  
T_id int FOREIGN KEY REFERENCES Train(T_id), 
Seat_id int PRIMARY KEY,  
Waiting int NOT NULL,  
Available int NOT NULL,  
Booked_seat int NOT NULL  
) 

enter image description here

2 个答案:

答案 0 :(得分:2)

一张桌子的工作示例。并且请在oracle的varchar上使用varchar2。

CREATE table Final_chart 
(T_id integer, 
User_id varchar2(10), 
Seat_id integer,
CONSTRAINT t2_fk  FOREIGN KEY (T_id) REFERENCES Train(T_id),
CONSTRAINT t1_fk  FOREIGN KEY (User_id) REFERENCES Passenger(User_id),
CONSTRAINT t3_fk FOREIGN KEY  (Seat_id) REFERENCES Train_Seats(Seat_id),
CONSTRAINT Pkr PRIMARY KEY (T_id, User_id, Seat_id)
)

答案 1 :(得分:1)

问题是您对外键的引用。这就是你应该做的方式

CONSTRAINT FK_Train FOREIGN KEY (T_id) REFERENCES Train(T_id)