添加与其他列相关的检查约束

Add check constraint related to other column

我的table结构如下

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

我想为此 table 添加一个约束条件,只有当 IsActive=1GoSequence 值可以更改时。

如果 IsActive=0GoSequence 保持为 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*/

感谢任何帮助。谢谢!

可能最简单的表达方式是 GoSequence 必须为 0 或 IsActive 必须为 1。

因此您的约束可能如下所示:

ALTER TABLE [pbr_TeamPel] ADD CONSTRAINT [CHK_pbr_TeamPel_GoSeq]
    CHECK(GoSequence=0 Or IsActive=1)