Проверка, имеет ли столбец определенное значение, затем ограничивает другой список

Мне интересно, есть ли способ проверить, есть ли у столбца значение, если это значение XXXXX, тогда в списке (A,B,C) должен быть другой столбец. что-то вроде:

CREATE TABLE test (a CHAR(60),b CHAR(60),Check (IF a == 'test' THEN b in ('a','b','c')));

1 ответ

Решение

Другими словами, в test строки, b должен быть в списке, а вtest строки, b может быть что угодно.

Так что для проверки, чтобы преуспеть, b должен быть в списке, или строка не должна быть test строка:

CHECK (a <> 'test' OR b IN ('a', 'b', 'c'))

Математически, a → b такой же как ¬a ∨ b,

Другие вопросы по тегам