当复制值存在于列中时添加唯一索引

如果您试图在启用方式中添加唯一索引但由于复制值在索引的列中而接收到错误信息,则采取以下步骤来成功添加索引:
  1. 在禁用方式中添加索引,再次发出 CREATE INDEX 语句,但是这次指定 DISABLED 关键字。
  2. 使用 START VIOLATIONS TABLE 语句为目标表启动违例和诊断表。
  3. 发出 SET Database Object Mode 语句来将索引方式更改为启用。当发出此语句时,违反唯一索引需要的目标表中的现有行在违例表中复制。然而,您接收到一个完整性违例的错误消息,并且索引保持禁用。
  4. 在违例表上发出 SELECT 语句来检索从目标表复制的不一致性。您可能需要连接违例表和诊断表来获取所有必要的信息。
  5. 在违反唯一索引需要的目标表中的行上采取更正操作。
  6. 修复目标表中所有不一致行之后,再次发出 SET Database Object Mode 语句俩奖金用的索引切换为启用方式。这次索引被启用,并且没有返回完整性违例错误。因为目标表中的所有行满足新的唯一索引需要。