Добавить ограничение проверки, относящееся к другому столбцу - PullRequest
1 голос
/ 17 июня 2020

Моя таблица имеет следующую структуру:

User  |Group   |IsActive   |GoSequence
--------------------------------------
1     |max     |1          |4
2     |jun     |0          |0
3     |cle     |1          |1
4     |trk     |1          |2
5     |wdr     |0          |6

User=int, Group=varchar(3), IsActive=bit, GoSequence=int

Я хочу добавить ограничение в эту таблицу, где можно изменить только значение IsActive=1, GoSequence.

Если IsActive=0, GoSequence остается 0.

ALTER TABLE [pbr_TeamPel] ADD CONSTRAINT [CHK_pbr_TeamPel_GoSeq]
    CHECK ~

/*If IsActive = 0 then GoSequence=0, else 
if IsActive = 1, GoSequence can be change to other int*/

Любая помощь приветствуется. Спасибо!

1 Ответ

3 голосов
/ 17 июня 2020

Вероятно, самый простой способ выразить это - либо GoSequence должен быть 0, либо IsActive должен быть 1.

Таким образом, ваше ограничение может выглядеть так:

ALTER TABLE [pbr_TeamPel] ADD CONSTRAINT [CHK_pbr_TeamPel_GoSeq]
    CHECK(GoSequence=0 Or IsActive=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...