Страницы

Поиск по вопросам

четверг, 30 мая 2019 г.

Фиксированное значение столбца (= null) в зависимости от значения другого столбца

В таблице tablename есть столбцы type и arg. Нужно ввести ограничение, по которому при type = 1, всегда arg = null
Каким образом это можно организовать в PostgreSQL? Версия 9.5.2.
Можно реализовать это на уровне приложения, но требуют, именно, на уровне СУБД. Чтобы она не дала нарушить это правило.


Ответ

ALTER TABLE test ADD CONSTRAINT null_arg CHECK ((type = 1 AND arg IS NULL) OR type <> 1)

Комментариев нет:

Отправить комментарий