sql >> Database >  >> RDS >> Oracle

Hoe te controleren op een index in Oracle

selecteer count(*) van user_indexes waar index_name ='myIndex'

sqlplus ondersteunt echter IF... niet, dus je zult anonieme PL/SQL-blokken moeten gebruiken, wat betekent IMMEDIATE UITVOEREN om DDL te doen.

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

Bewerken:zoals gezegd, Oracle slaat niet-geciteerde objectnamen op in hoofdletters.




  1. Heeft Oracle een equivalent van de tabelvariabelen van SQL Server?

  2. com.mysql.jdbc.MysqlDataTruncation:Gegevensafbreking:gegevens te lang voor kolom 'column_name'

  3. Python - MySQL-index automatiseren:parameter doorgeven

  4. Een functie schrijven in plsql