Я ожидаю синтаксис, подобный этому:
create table loaning (
Signature varchar PRIMARY KEY ,
loanDate date DEFAULT CURRENT_DATE,
returnDate date default CURRENT_DATE + interval '28 day'
check ((loanDate + interval '56 day') < returnDate),
);
Вы получаете правильное выражение интервала для returnDate
, но не в ограничении check
. Кроме того, нет оснований конвертировать date
в date
.
Я бы порекомендовал, чтобы первичный ключ был последовательным столбцом, поэтому я бы порекомендовал что-то вроде этого:
create table loaning (
loaningId serial primary key,
signature varchar(255),
loanDate date DEFAULT CURRENT_DATE,
returnDate date default CURRENT_DATE + interval '28 day'
check ((loanDate + interval '56 day') < returnDate),
);
Я не знаю, что такое signature
. Но, возможно, это даже не уникально.