Sample Header Ad - 728x90

Cannot drop nonexistent constraint and cannot create it either

20 votes
6 answers
49072 views
While testing some migration scripts with a copy of production data (scripts run fine with development data) I found a curious situation. A CONSTRAINT has changed so I'm issuing DROP + ADD commands: 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; The DROP command worked fine but the ADD one failed. Now, I'm into a vicious circle. I cannot drop the constraint because it doesn't exist (initial drop worked as expected): > ORA-02443: Cannot drop constraint - nonexistent constraint And I cannot create it because the name already exists: > ORA-00955: name is already used by an existing object I type A_DUP_CALLE_UK1 into SQL Developer's *Search* box and... there it is! Owner, table name, tablescape... everything matches: it isn't a different object with the same name, it **is** my original constraint. The table appears in the constraint details but the constraint does not appear in the table's details. My questions: - What's the explanation for this? - How can I ensure it won't happen when I make the real upgrade in live server? *(Server is 10g XE, I don't have enough reputation to create the tag.)*
Asked by Álvaro González (1089 rep)
Sep 2, 2011, 07:29 AM
Last activity: Apr 17, 2025, 09:47 AM