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.