Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So suchen Sie in Oracle nach einem Index

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

sqlplus unterstützt IF... jedoch nicht, daher müssen Sie anonyme PL/SQL-Blöcke verwenden, was bedeutet, dass Sie IMMEDIATE EXECUTE ausführen, um DDL auszuführen.

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;
/

Bearbeiten:Wie bereits erwähnt, speichert Oracle Objektnamen ohne Anführungszeichen in Großbuchstaben.