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

値のリストをテーブルと比較する

    多くの組み込みのパブリックコレクションタイプがあります。次のようにそれらの1つを活用できます:

    with ids as (select /*+ cardinality(a, 1) */ column_value id
                   from table(UTL_NLA_ARRAY_INT(100, 200, 300)) a
                )
    select ids.id, case when m.id is null then '**NO MATCH**' else m.value end value
      from ids
             left outer join my_table m
                         on m.id = ids.id;
    

    DB上のパブリックタイプのリストを表示するには、次を実行します:

    select owner, type_name, coll_type, elem_type_name, upper_bound, precision, scale from all_coll_types
     where elem_type_name in ('FLOAT', 'INTEGER', 'NUMBER', 'DOUBLE PRECISION')
    

    ヒント

    /*+ cardinality(a, 1) */
    

    配列に含まれる要素の数をオラクルに通知するために使用されます(指定されていない場合、デフォルトは8k要素の仮定になります)。適度に正確な数値に設定するだけです。



    1. 関数またはストアドプロシージャからテーブルを返すtsql

    2. 異なるデータベースの2つのテーブルを結合する方法

    3. desc付近のSQL構文エラー

    4. Djangomakemigrationsは同じ変更を続けます