DDL中"case"的功能是如何实现的



我有一个表order。下方列出了其DDL

create table "order"
(
id                      serial primary key,
quantity                integer      not null,
estimated_delivery_date date         not null,
lodgement_date          date check ( lodgement_date > '2022-03-02' ),
product_model           varchar(128) not null,
sales_id                integer      not null,
contract_number         varchar(10)  not null
);

如果插入新行时lodgement_date属性晚于2022-03-02,我希望将其设置为null。如何在DDL中实现此功能。

要做到这一点,您不能在创建表时这样做。这将是一个约束。

示例:

CONSTRAINT check_lodgement_date
CHECK (lodgement_date > '2022-03-02')

最新更新