添加与其他列相关的检查约束
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=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*/
感谢任何帮助。谢谢!
可能最简单的表达方式是 GoSequence 必须为 0 或 IsActive 必须为 1。
因此您的约束可能如下所示:
ALTER TABLE [pbr_TeamPel] ADD CONSTRAINT [CHK_pbr_TeamPel_GoSeq]
CHECK(GoSequence=0 Or IsActive=1)
我的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=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*/
感谢任何帮助。谢谢!
可能最简单的表达方式是 GoSequence 必须为 0 或 IsActive 必须为 1。
因此您的约束可能如下所示:
ALTER TABLE [pbr_TeamPel] ADD CONSTRAINT [CHK_pbr_TeamPel_GoSeq]
CHECK(GoSequence=0 Or IsActive=1)