user_indexesからcount(*)を選択します。ここでindex_name ='myIndex'
ただし、sqlplusはIF ...をサポートしないため、匿名のPL / SQLブロックを使用する必要があります。つまり、DDLを実行するにはEXECUTEIMMEDIATEを使用します。
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;
/
編集:指摘されているように、Oracleは引用符で囲まれていないオブジェクト名をすべて大文字で格納します。