我有3列:Number
,StepNumber
,LineId
。
我想使它们唯一,但仅在第四列FinishTime
为NULL
的地方。
如果FinishTime
不是NULL
,则这三列不能唯一。
我尝试过:
ALTER TABLE myTable ADD CONSTRAINT checkUnique UNIQUE (Number, StepNumber, LineId)
但禁止添加WHERE FinishTime IS NULL
。
答案 0 :(得分:0)
在约束定义中也包括FinishTime列。
ALTER TABLE myTable ADD CONSTRAINT checkUnique UNIQUE (Number, StepNumber, LineId, FinishTime)
答案 1 :(得分:0)
创建唯一的非聚集索引
Create unique nonclustered index [my_index]
on [mytable]([FinishTime])
where [FinishTime] is not null