ABS作为SQL中的约束
在sql 2008中是否可以将绝对值作为约束条件。大概是这样的:ABS作为SQL中的约束,sql,sql-server-2008,Sql,Sql Server 2008,在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 它们应该被认为是相同的,不被允许 谢谢
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
它们应该被认为是相同的,不被允许
谢谢。我想你已经试过了,但还是出错了 否,唯一约束不能包含公式。但是,您可以对计算列具有唯一约束:
我想你已经试过了,但是出了一个错误 否,唯一约束不能包含公式。但是,您可以对计算列具有唯一约束:
这是其中一次我会说试试看。我试过了,我不能完全按照贴出来的那样做,这就是为什么我说“类似”。也许有工作要做?这是其中一次我会说试试看。我试过了,我不能完全按照贴出来的那样做,这就是为什么我说“像这样”。也许有工作要做?谢谢,这听起来是个好主意。但是我有限制。我无法将字段添加到此表中。还有什么我能做的吗?我知道这不是唯一的限制。您必须通过触发器或执行插入的应用程序来强制执行。谢谢,这听起来是个好主意。但是我有限制。我无法将字段添加到此表中。还有什么我能做的吗?我知道这不是唯一的限制。您必须通过触发器或执行插入的应用程序来强制执行它。
ALTER TABLE myTable
ADD ID_3 AS ABS(ID_1)
ALTER TABLE [myTable]ADD
CONSTRAINT [IX_Blah] UNIQUE NONCLUSTERED
(
[ID_3],
[ID_2]
)