WITH CHECK | WITH NOCHECK指定表中的数据是否用新添加的或重新启用的 FOREIGN KEY 或 CHECK 约束进行验证。如果没有指定,对于新约束,假定为 WITH CHECK,对于重新启用的约束,假定为 WITH NOCHECK。WITH CHECK 和 WITH NOCHECK 子句不能用于 PRIMARY KEY 和 UNIQUE 约束。如果不想用新 CHECK 或 FOREIGN KEY 约束对现有数据进行验证,请用 WITH NOCHECK,除了个别情况,不建议这样使用。新约束将在以后的所有更新中生效。任何在添加约束时由 WITH NOCHECK 抑制的约束违规都可能导致将来的更新失败,如果这些更新操作要更新的行中包含不符合约束条件的数据。查询优化器不考虑用 WITH NOCHECK 定义的约束。将忽略这些约束,直到使用 ALTER TABLE table CHECK CONSTRAINT ALL语句重新启用这些约束为止。