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

46qrfjad  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(285)

我的表格结构如下

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*/

感谢您的帮助。谢谢!

41zrol4v

41zrol4v1#

可能最简单的表达方式是gosequence必须为0或isactive必须为1。
因此,您的约束可以如下所示:

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

相关问题