这是我的目标表
T1
(
Id int not null PK,
Name nvarchar(10) not null
Flag bit not null
)
我需要一个Constraint检查,检查在每一行具有相同名称的行中只有一行有一个真正的标志,换句话说我需要一个UK(1-True值的标志,2-Name),相同的名称可以有一个假旗帜,但只有其中一个可以有一个真旗。有没有人知道这个剧本?
答案 0 :(得分:3)
使用过滤的唯一索引
CREATE UNIQUE NONCLUSTERED INDEX ix ON T1(Name) WHERE (Flag = 1)