Как сделать избирательную проверку на not null в таблице (check constraint)?
Здравствуйте, коллеги.
Вопрос такой простой: есть таблица, в ней поля FIELD_A, FIELD_B и FIELD_C
Необходимо установить ограничения следующего толка:
должно быть заполнено А и B (NOT NULL), и тогда C должно быть NULL
либо должно быть заполнено C, но тогда оба A и B должны быть NULL
То есть, либо есть C и не должно быть ни A, ни B, либо есть и A, и B (обязательно вместе), но тогда не должно быть C.
В первой внешний ключ на вторую таблицу, в которой тип значения (A+B или C) и 2 поля. Если нужно дальнейшее связывание, то внешние ключи включают в себя этот тип.