我正在使用Oracle Express,我想发表声明,向我的Invoices
表添加一个检查约束,如果Payment_Date
允许Payment_Total = 0
为NULL,如果Payment_Date
,则Payment_Total > 0
为非空。
我只了解如何更改表以添加检查列值的约束。我不理解如何在满足特定条件(ColumnValue> SomeValue)的情况下制作允许空值或禁止空值的约束。
答案 0 :(得分:3)
以下是表达检查约束的方法:
alter table t add constraint ck_values
check ((payment_date is null and payment_total = 0) or
(payment_date is not null and payment_total > 0)
);