É possível incluir uma verificação de data em uma tabela do Db2?
Eu tentei:
CREATE TABLE customers (
id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
email VARCHAR(60) NOT NULL UNIQUE,
-- etc
dob date, -- Db2: CHECK (dob < current_timestamp - interval '18 years'), fails
-- etc
);
Consegui fazer isso em outros DBMSs; o código comentado acima, por exemplo, funciona para PostgreSQL. No entanto, quando tento no Db2, recebo uma mensagem como:
Erro SQL [42621]: Uma restrição de verificação ou coluna gerada que é definida com "current_date" é inválida
Talvez haja uma solução alternativa?
Você não pode usar
current_timestamp
orcurrent_date
em umacheck
restrição. Isso está documentado :Você pode usar um
before
gatilho para implementar essa validação.