3
当我用鼠标右键单击默认约束的语法,我问SQL Server来为它创建一个创建脚本,它会生成以下代码:请解释SQLServer的用于创建检查约束
ALTER TABLE [dbo].[tblEventTurnJudgeStartValues] WITH NOCHECK ADD CONSTRAINT [tblEventTurnJudgeStartValues_ExecutionToggle] CHECK (([ExecutionToggle]=(1) OR [ExecutionToggle]=(0) OR [ExecutionToggle]=(-1)))
GO
ALTER TABLE [dbo].[tblEventTurnJudgeStartValues] CHECK CONSTRAINT [tblEventTurnJudgeStartValues_ExecutionToggle]
对于记录中,我理解第一个ALTER语句,但我不明白第二个alter语句的作用。试图谷歌“CHECK CONSTRAINT”的短语,但只获得点击添加约束语法。
谢谢。
赛斯
更新
乔感谢您的回答。找到这个链接有帮助。
http://blog.sqlauthority.com/2009/11/12/sql-server-disable-check-constraint-enable-check-constraint/
我不知道,你可以启用和禁用约束。凉!
赛斯
乔,我认为这是它可能做的。如果数据没有通过约束测试会怎样?然后会发生什么?第一个alter语句失败了吗? – 2010-11-15 20:24:37
+1:我一直使用'WITH CHECK'来启用禁用的约束条件 – 2010-11-15 20:27:35
Joe,你是说如果没有第二条语句,就会创建约束条件,但是直到第二条alter语句才执行约束条件?如果你使用WITH CHECK而不是所有的记录都通过了测试,那么约束仍然被禁用? – 2010-11-15 20:34:02