Oracle SQL 带 IF 条件的约束

Oracle SQL Constraint with IF condition

我需要用这个条件创建一个约束 If column_1 = 'Y' then column_2 is not null.如果 column_1 等于 'Y',我需要使 column_2 不为空。在其他情况下,您可以在 column_2

中插入或不插入值

您可以将其表示为:

check (column_1 <> 'Y' or column_2 is not null)

注意:此版本假定 column_1 不是 NULL,但可以轻松调整逻辑来处理该问题。

或者,或者:

check (not (column_1 = 'Y' and column_2 is null) )