将检查约束添加到具有数据的表

时间:2019-04-30 06:47:56

标签: sql sql-server check-constraints

我有一个包含列Project, GridID, X, Y, Z的表。该表包含大量数据。我想添加一个约束,如下所示 when GridID='35N' and Project='Hill' then X>=300000 and X<=400000 请告诉我如何编写此约束。

我正在尝试添加一个约束,其中X在300000-400000之间,并且尝试保存时,它给我一个错误,指出表中发生了冲突。为什么我看到此错误 请告知。

先谢谢您。 迪内什

1 个答案:

答案 0 :(得分:2)

您可以这样做:

alter table t add constraint chk_grdid_project
    check (not (GridID = '35N' and
                Project = 'Hill' and
                (X < 300000 or X > 400000)
               )
          );

Here是db <>小提琴,表明它可以正常工作。