我想删除并添加约束
ALTER TABLE [dbo].[Entity] DROP CONSTRAINT [x_UpdateDate1]
ALTER TABLE [dbo].[Entity] ADD CONSTRAINT [x_UpdateDate1] DEFAULT ([dbo].[GETSYSTEMDATE]()) FOR [CreateDate]
我想找到替代方案。因为不建议删除和添加约束。有没有更好的方法来处理
答案 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