SQL 缺少右括号 ORA-00907

SQL missing right parenthesis ORA-00907

谁能告诉我为什么会出现这个错误?谢谢!

    CREATE TABLE Booking (
  hotelNo char(2)   NOT NULL,
  guestNo char(2)   NOT NULL,
  dateFrom date     NOT NULL,
  dateTo date    
  roomNo char(2)  NOT NULL,
  CONSTRAINT booking_pk PRIMARY KEY (hotelNo, guestNo, dateFrom),
  CONSTRAINT booking_hotel_fk FOREIGN KEY (hotelNo) REFERENCES 
  CONSTRAINT booking_guest_fk FOREIGN KEY (guestNo) REFERENCES Guest(guestNo),
  CONSTRAINT booking_room_fk FOREIGN KEY (hotelNo, roomNo) 
  REFERENCES Room(hotelNo, roomNo)
  );

您至少有两个错误。 date 后缺少逗号。但是您也没有完成外键引用。所以,像这样:

CREATE TABLE Booking (
  hotelNo char(2)   NOT NULL,
  guestNo char(2)   NOT NULL,
  dateFrom date     NOT NULL,
  dateTo date, 
  -----------^  
  roomNo char(2)  NOT NULL,
  CONSTRAINT booking_pk PRIMARY KEY (hotelNo, guestNo, dateFrom),
  CONSTRAINT booking_hotel_fk FOREIGN KEY (hotelNo) REFERENCES hotel(hotelNo),
  -------------------------------------------------------------^
  CONSTRAINT booking_guest_fk FOREIGN KEY (guestNo) REFERENCES Guest(guestNo),
  CONSTRAINT booking_room_fk FOREIGN KEY (hotelNo, roomNo) REFERENCES Room(hotelNo, roomNo)
  );