How To Check for an Index in Oracle How To Check for an Index in Oracle oracle oracle

How To Check for an Index in Oracle


select count(*) from user_indexes where index_name = 'myIndex'

sqlplus won't support IF..., though, so you'll have to use anonymous PL/SQL blocks, which means EXECUTE IMMEDIATE to do DDL.

DECLARE    i INTEGER;BEGIN    SELECT COUNT(*) INTO i FROM user_indexes WHERE index_name = 'MYINDEX';    IF i = 0 THEN        EXECUTE IMMEDIATE 'CREATE INDEX myIndex ...';    END IF;END;/

Edit: as pointed out, Oracle stores unquoted object names in all uppercase.