您对约束的模式的任何更改都保持,直到再次修改那个约束模式的设置,或直到删除那个约束或它
的表为止。
然而,引用约束的 NOVALIDATE 模式是例外,因为这些模式在指定 NOVALIDATE 模式的 SET
CONSTRAINTS 语句之外(或 ALTER TABLE ADD CONSTRAINT 语句之外)不保持。
也就是说,当指定 NOVALIDATE 模式的 DDL 语句完成时,该约束模式转化为 sysobjstate 系统目
录表为这三种可能的模式之中的外键约束记录的任何一种模式:
ENABLED NOVALIDATE 成为 ENABLED
FILTERING WITH ERROR NOVALIDATE 成为 FILTERING WITH ERROR
FILTERING WITHOUT ERROR NOVALIDATE 成为 FILTERING WITHOUT ERROR.
在所有对该表的后续 DML 操作中,诸如 SQL 的 DELETE、INSERT、MERGE 或 UPDATE 语
句,数据库服务器在通过它的 IMMEDIATE 或 DEFERRED 设置确定的时间点,强制启用的外键约
束,但不理会任何先前的 NOVALIDATE 模式。
在辅助服务器上的约束;
在集群环境中,在可更新的辅助服务器上,不支持 SET CONSTRAINTS ENABLED 和 SET
CONSTRAINTS DISABLED 语句。(更一般地,SET Database Object Mode 语句指定的会话级索
引、触发器和约束模式不会为辅助服务器的数据库中表对象上的 UPDATE 操作被重定向。)