在 MS SQL 约束中创建唯一检查 + 附加检查
Create Unique Check + Additional Check in MS SQL Constraint
我需要为以下 table 添加约束:
Table(
CategoryId INT,
CustomerId INT,
IsActive BIT
....
)
我只想拥有 (CategoryId, CustomerId, IsActive = 1) 的一种组合
只是不知道如何将其置于一个约束中。
Category 和 Customer 的组合只有一个是活跃的(Active = 1),并且可以有多个 active = 0
我知道它可以通过函数来完成,但我正在尝试寻找一种没有它的方法。
类似于:
CONSTRAINT UN_CK_Table UNIQUE(CategoryId, CustomerId, IsActive = 1)
您可以使用过滤后的唯一索引:
CREATE UNIQUE INDEX YourTableUi1 ON YourTable (CategoryId, CustomerId) WHERE (IsActive = 1);
我需要为以下 table 添加约束:
Table(
CategoryId INT,
CustomerId INT,
IsActive BIT
....
)
我只想拥有 (CategoryId, CustomerId, IsActive = 1) 的一种组合 只是不知道如何将其置于一个约束中。 Category 和 Customer 的组合只有一个是活跃的(Active = 1),并且可以有多个 active = 0
我知道它可以通过函数来完成,但我正在尝试寻找一种没有它的方法。 类似于:
CONSTRAINT UN_CK_Table UNIQUE(CategoryId, CustomerId, IsActive = 1)
您可以使用过滤后的唯一索引:
CREATE UNIQUE INDEX YourTableUi1 ON YourTable (CategoryId, CustomerId) WHERE (IsActive = 1);