当向表中添加数据、更新或删除表中数据时,可禁用 CHECK 约束。 禁用约束使您可以执行下列事务:
表中现有行过去必须满足特定业务规则,但现在这些规则已不再适用,对于这样的表可向其添加一行新数据(使用 INSERT 语句)(仅限 Microsoft SQL Server)。 例如,您过去可能要求邮政编码限制为五位数,但现在却希望新数据允许九位数的邮政编码。 具有五位邮政编码的旧数据将与包含九位邮政编码的新数据共存。
当现有行过去必须满足特定业务规则,而现在这些规则已不再应用时,可修改现有行(使用 UPDATE 语句)。 例如,可能希望将现有的所有五位邮政编码更新为九位邮政编码。
如果您知道新数据将与约束冲突或者如果约束仅应用于数据库中已有的数据,则可选择该选项以在 INSERT 和 UPDATE 事务过程中禁用 CHECK 约束。
提示
对于 CHECK 约束,有些数据库具有不同的功能。 有关数据库如何使用 CHECK 约束的详细信息,请查阅数据库文档。
提示
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置。
对 INSERT 和 UPDATE 语句禁用 CHECK 约束
在服务器资源管理器中,选择包含该约束的表,再从**“数据库”菜单中单击“打开表定义”**。
该表在**“表设计器”**中打开。
从**“表设计器”菜单中单击“CHECK 约束”**。
在**“CHECK 约束”对话框中,从“选定的 CHECK 约束”**列表中选择约束。
在网格中,单击**“强制用于 INSERT 和 UPDATE”,然后从下拉列表中选择“否”**。
可在添加或修改数据后将此选项设置为“是”,以保证约束应用于后续的数据修改。