在sql中删除并添加约束

时间:2014-05-05 21:19:53

标签: sql sql-server

我想删除并添加约束

ALTER TABLE [dbo].[Entity] DROP  CONSTRAINT [x_UpdateDate1]  

ALTER TABLE [dbo].[Entity] ADD  CONSTRAINT [x_UpdateDate1]  DEFAULT ([dbo].[GETSYSTEMDATE]()) FOR [CreateDate]

我想找到替代方案。因为不建议删除和添加约束。有没有更好的方法来处理

3 个答案:

答案 0 :(得分:5)

没有。你无法改变约束,你需要删除它,然后像你一样重新创建它。

答案 1 :(得分:1)

不,没有其他方法可以删除和重新创建约束(check also sqlauthority.com blog entry

答案 2 :(得分:-1)

您可以使用以下命令禁用约束:

ALTER TABLE tbl NOCHECK CONSTRAINT all

然后将其重新打开:

ALTER TABLE tbl WITH CHECK CHECK CONSTRAINT all

当然这个SQL会关闭表上的所有约束,但是你可以像这样指定一个单独的约束:

ALTER TABLE tbl NOCHECK CONSTRAINT Constraint1