START VIOLATIONS TABLE 语句与 SET Database Object Mode 语句关系密切。如果您使用 SET Database Object Mode 来将定义在表上的约束或唯一索引设置为 FILTERING 模式,还不使用 START VIOLATIONS TABLE,则不将在数据操作操作中违反约束或唯一索引要求的任何行过滤到违反表。相反,您会收到错误消息,表明您必须为目标表启动违反表。
类似地,如果您使用 SET Database Object Mode 语句来将禁用的约束或禁用的唯一索引设置为 ENABLED 或 FILTERING 模式,但您没有为在其上定义数据库对象的表使用 START VIOLATIONS TABLE,则不将不满足该约束或唯一索引要求的任何行过滤到违反表。
在这些情况下,要标识不满足约束或唯一索引要求的那些行,请发出 START VIOLATIONS TABLE 语句来启动违反表和诊断表。请在您使用 SET Database Object Mode 语句来将数据库对象设置为 ENABLED 或 FILTERING 数据库对象模式之前执行此操作。