sql >> Base de Datos >  >> RDS >> Oracle

Cómo buscar un índice en Oracle

seleccione el recuento (*) de user_indexes donde index_name ='myIndex'

Sin embargo, sqlplus no admitirá IF..., por lo que tendrá que usar bloques PL/SQL anónimos, lo que significa EJECUTAR INMEDIATAMENTE para hacer 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 se señaló, Oracle almacena nombres de objetos sin comillas en mayúsculas.