5
无法删除不存在的约束,也不能创建约束
在使用生产数据的副本测试某些迁移脚本(脚本与开发数据运行良好)时,我发现了一个奇怪的情况。约束已更改,因此我正在发出DROP + ADD命令: ALTER TABLE A_DUP_CALLE DROP CONSTRAINT A_DUP_CALLE_UK1; ALTER TABLE A_DUP_CALLE ADD CONSTRAINT A_DUP_CALLE_UK1 UNIQUE ( CONTROL_ID, CALLE_AYTO_DUPL ) ENABLE; DROP命令工作正常,但添加命令失败。现在,我陷入了一个恶性循环。我不能删除该约束,因为它不存在(初始删除按预期方式工作): ORA-02443:无法删除约束-不存在约束 我无法创建它,因为名称已经存在: ORA-00955:名称已被现有对象使用 我输入A_DUP_CALLE_UK1到SQL Developer的“ 搜索”框中,然后就可以了!所有者,表名,表景...一切都匹配:它不是具有相同名称的其他对象,这是我的原始约束。该表出现在约束详细信息中,但约束没有出现在表的详细信息中。 我的问题: 这有什么解释? 在实时服务器中进行真正的升级时,如何确保不会发生这种情况? (服务器为10g XE,我没有足够的声誉来创建标签。)