首页 > 解决方案 > 如何将检查约束与 SQL 中的 IF 语句结合起来?

问题描述

当我想放置这样的约束时,如何在 SQL 中使用检查约束:

Y must be NOT NULL when X=‘hello’;
when X != ‘hello’ Y can be NULL

我试过这样但它没有用..

ALTER TABLE table
ADD ( CONSTRAINT cons CHECK ( X= ‘hello’ and Y!= NULL or X!= ‘hello’));

标签: sqloracle-apexcheck-constraints

解决方案


如果我理解逻辑,正确的语法是:

ALTER TABLE table ADD CONSTRAINT cons
    CHECK ( X = 'hello' and Y IS NOT NULL NULL OR X <> 'hello');

推荐阅读