检查一个值是否低于另一个表postgresql中的值

时间:2017-06-20 13:04:05

标签: sql database postgresql constraints

CREATE TABLE Time(
Tipo VARCHAR(15) PRIMARY KEY,
DataInizio DATE,
DataFine DATE NOT NULL);

INSERT INTO Time VALUES('PreIscrizione', '2017-02-01', '2017-04-30');
INSERT INTO Time VALUES('Candidatura', '2017-05-01', '2017-07-30');

CREATE TABLE PreIscrizione(
Studente VARCHAR(16) REFERENCES Persona ON DELETE CASCADE ON UPDATE CASCADE PRIMARY KEY,
DataPreIscrizione DATE CHECK(DataPreIscrizione<(SELECT DataFine FROM Time WHERE Tipo = 'PreIscrizione')));

表PreIscrizione允许注册学生,但必须在表Time中指定的日期之前完成。显然我上面写的内容并不起作用,但它解释了我的想法。哪种解决方法正确?

0 个答案:

没有答案