下面是我需要放置约束的模式,以便可以为房间号插入第二个新条目,甚至在同一房间号的现有depDt之前。你能帮助我吗?防止重叠日期范围的表级约束
CREATE TABLE Accomodation (
roomNo INTEGER NOT NULL,
arrDt DATE NOT NULL,
depDt DATE NOT NULL,
PRIMARY KEY (roomNo, arrDt),
CONSTRAINT date_chk CHECK (arrDt < depDt)
);
INSERT INTO HotelStays(roomNo, arrDt, depDt) VALUES
(123, to_date('20160202', 'YYYYMMDD'),to_date('20160206','YYYYMMDD')),
(123, to_date('20160205', 'YYYYMMDD'), to_date('20160208','YYYYMMDD'));
我试过在CONSTRAINTS的WHERE下给出一个子查询,但它不在SQL小提琴中工作。
你在'INSERT'语句的第二个元素末尾缺少')'。 –
对不起,但这是一个错字。 – Shashikiran
从我看到的第二个条目中输入相同的房间号码__可以插入,只要他们的抵达日期不同。你真正的问题是什么?您能否显示预期的输出和错误或您收到的输出? –