是什么导致此 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 设置为 。先设置为主键。
我正在尝试将外键添加到在同一文档中创建的一系列 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 设置为 。先设置为主键。