sql >> データベース >  >> RDS >> Oracle

Oracleでインデックスを確認する方法

    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は引用符で囲まれていないオブジェクト名をすべて大文字で格納します。




    1. SQLAlchemyのデータベースに依存しないMAX()関数

    2. PostgreSQL-復元されたデータベースが元のサイズよりも小さい

    3. Oracleのストアド関数が目的のテーブルに値を挿入しない

    4. osxのコマンドラインでMysqlを使用しています-コマンドが見つかりませんか?