是否可以在sql 2008中将绝对值作为约束。这样的事情:
ALTER TABLE [dbo].[myTable] WITH NOCHECK ADD
CONSTRAINT [IX_Blah] UNIQUE NONCLUSTERED
(
ABS([ID_1]),
[ID_2]
) ON [PRIMARY]
在我的表中,ID_1可能是否定的。所以我需要确保我没有
的记录ID_1 ID_2
1 1
-1 1
它们应被视为相同且不被允许。
谢谢。
答案 0 :(得分:4)
我假设你已经尝试过并且出错了。
不,唯一约束不能包含公式。但可以对计算列具有唯一约束:
ALTER TABLE myTable
ADD ID_3 AS ABS(ID_1)
ALTER TABLE [myTable]ADD
CONSTRAINT [IX_Blah] UNIQUE NONCLUSTERED
(
[ID_3],
[ID_2]
)