是什么导致此 SQL 错误 (ORA-02270)

What is causing this SQL Error (ORA-02270)

我正在尝试将外键添加到在同一文档中创建的一系列 SQL 表中。

其他 ALTER TABLE 查询工作正常,但有一个给我带来了麻烦。相关代码如下

CREATE TABLE Bookings
(BookingID       NUMBER(15)       NOT NULL,
 Arrive          DATE             NOT NULL,
 BookingDate     DATE,
 Comments        VARCHAR2(200),
 Depart          DATE, 
 PaymentDueDate  DATE,
 ClientID        NUMBER(10),
 RoomID          NUMBER(5),
 CONSTRAINT BookingIDPK
      PRIMARY KEY (BookingID),
 CONSTRAINT RoomIDCK
    CHECK (RoomID BETWEEN 2000 AND 29000 ));
----
ALTER TABLE Bookings
ADD FOREIGN KEY (RoomID)
REFERENCES Rooms(RoomID);
----
CREATE TABLE Rooms
(RoomID          NUMBER(5)        NOT NULL,
 Rate            NUMBER(7,2)      NOT NULL,
  CONSTRAINT RateCK
    CHECK (Rate BETWEEN 25.00 AND 99.00 ),
 CONSTRAINT RoomIDCK2
    CHECK (RoomID BETWEEN 2000 AND 29000 ));

知道哪里出了问题吗?

这里的问题是这些行。


创建 TABLE 个房间
(RoomID NUMBER(5) NOT NULL,
评分 NUMBER(7,2) NOT NULL,
约束率CK
检查(汇率在 25.00 和 99.00 之间),
约束 RoomIDCK2
检查(房间 ID 介于 2000 和 29000 之间));

更改TABLE 预订
添加外键 (RoomID)
REFERENCES 房间(RoomID);

您尚未将 房间 table 中的 RoomID 设置为 。先设置为主键。