如何对 INSERT 和 UPDATE 语句禁用 Check 约束 (Visual Database Tools)

当在表中添加、更新或删除数据时,可禁用 CHECK 约束。通过禁用约束,您可以执行以下事务:

  • 表中现有行过去必须满足特定业务规则,但现在这些规则已不再适用,对于这样的表可向其中添加一行新数据(使用 INSERT 语句)。例如,您过去可能要求邮政编码限制为五位数,但现在却希望新数据允许九位数的邮政编码。具有五位邮政编码的旧数据将与包含九位邮政编码的新数据共存。

  • 当现有行过去必须满足特定业务规则,而现在这些规则已不再应用时,可修改现有行(使用 UPDATE 语句)。例如,您可能希望将所有现有的五位邮政编码都更新为九位邮政编码。

如果您知道新数据将与约束冲突,或者约束仅应用于数据库中已有的数据,则可选择该选项以在 INSERT 和 UPDATE 事务过程中禁用 CHECK 约束。

对 INSERT 和 UPDATE 语句禁用 CHECK 约束

  1. 在对象资源管理器中,右键单击具有该约束的表,再单击**“设计”**。

    此时,将在表设计器中打开该表。

  2. 表设计器菜单上,单击**“CHECK 约束”**。

  3. 在**“CHECK 约束”对话框中,从“选定的 CHECK 约束”**列表中选择约束。

  4. 在网格中,单击**“强制用于 INSERT 和 UPDATE”,再从下拉列表中选择“否”**。

    您可在添加或修改数据后将此选项设置为“是”,以保证约束应用于后续的数据修改。