Oracle SQL - можно ли использовать CASE в проверочном ограничении для определения атрибутов данных?

Я использую Oracle 10g и хочу применить ограничение к таблице, в которой значение, введенное для одного столбца, определяет, является ли другой столбец NULL или NOT NULL. Столбец1 может содержать только 1 или 0; Столбец2 - это VARCHAR2 (255).

Я знаю, что работает следующее:

CONSTRAINT ck_1 CHECK ((col1=1 AND col2 IS NOT NULL) OR (col1=0 AND col2 IS NULL));

Однако мне было интересно, можно ли использовать CASE для выполнения этого ограничения и установить атрибут NOT NULL на col2, или CASE можно использовать только для определения значений? то есть может что-то вроде этой работы:

CONSTRAINT ck_1 CHECK (CASE WHEN col1=1 THEN col2 IS NOT NULL ELSE col2 IS NULL END);

Ответы на вопрос(1)

Ваш ответ на вопрос