Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como verificar um índice no Oracle


selecione count(*) de user_indexes onde index_name ='myIndex'

O sqlplus não suporta IF..., então você terá que usar blocos PL/SQL anônimos, o que significa EXECUTE IMMEDIATE para fazer 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;
/

Editar:como apontado, o Oracle armazena nomes de objetos sem aspas em letras maiúsculas.