Разрешить установку битового поля, только если установлено другое битовое поле - PullRequest
1 голос
/ 27 февраля 2012

У меня есть два поля bit в таблице, и при обновлении мне нужно разрешить второму полю устанавливать ставки (на 1), только если первое поле уже было установлено.

Таким образом, если запрос обновляет второе поле, пытаясь установить его в 1, база данных должна выдать ошибку, если первое поле не 1, с другой стороны, если запрос обновляет оба этиполя сразу устанавливают их оба на 1 - это должно работать.

Может быть, это можно сделать с помощью проверочных ограничений.

1 Ответ

2 голосов
/ 27 февраля 2012

Добавление уровня таблицы CHECK CONSTRAINT должно хватить.

ALTER TABLE YourTable 
ADD CONSTRAINT CKC_BITS CHECK (FirstBit = 1 OR SecondBit = 0)
...