更改表添加检查空值而不是空值

时间:2016-07-26 20:30:05

标签: sql oracle ddl

我正在使用Oracle Express,我想发表声明,向我的Invoices表添加一个检查约束,如果Payment_Date允许Payment_Total = 0为NULL,如果Payment_Date,则Payment_Total > 0为非空。

我只了解如何更改表以添加检查列值的约束。我不理解如何在满足特定条件(ColumnValue> SomeValue)的情况下制作允许空值或禁止空值的约束。

1 个答案:

答案 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)
          );