0

I am trying to drop an index that has a dot(.) in its name and can't seem to do it (I'm logged in as the SYSTEM user, which owns the index). Any ideas?

SQL> select index_name,owner,status from all_indexes where owner<>table_owner;

INDEX_NAME                     OWNER                STATUS
------------------------------ -------------------- --------------------
IX_isbn_send_h.D_STAT          SYSTEM               VALID

SQL> drop index IX_isbn_send_h.D_STAT;
drop index IX_isbn_send_h.D_STAT
                          *
ERROR at line 1:
ORA-01418: specified index does not exist
  • Use quotation marks, @par! – elfcheg Mar 22 '15 at 23:58
  • I had tried single-quotes and that didn't work. For some reason putting it in double-quotes did. Make your comment an answer and I'll mark it correct. – par Mar 23 '15 at 1:13
  • 1
  • 1
    @par nevermind :) yep, you should use double quotes when refer to an object name and single quotes to indicate a character or string. – elfcheg Mar 24 '15 at 8:19
4

Use this one:

DROP INDEX SYSTEM."IX_isbn_send_h.D_STAT";

Note, when you use quotes, then names are case-sensitive in Oracle.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.