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

整数のリストをC#からOracleストアドプロシージャに渡します

    Oracleでは、値の配列をパラメータとして渡すことができます。このSOの質問とこの質問から借りて、INT_ARRAYを定義できます。 次のように入力します:

    create or replace type CHAR_ARRAY as table of INTEGER;
    

    次に、ストアドプロシージャを次のように定義します。

    CREATE OR REPLACE PROCEDURE product_search(
            ...
            myIds IN CHAR_ARRAY,
            ...)
    AS  
        SELECT ...
        ...
        WHERE SomeIdField IN (Select column_value FROM TABLE(myIds))
        ...
    

    次に、次のようにOracleParameter.CollectionTypeプロパティを設定して、値のリストを渡すことができます。

    OracleParameter param = new OracleParameter();
    param.OracleDbType = OracleDbType.Int32;
    param.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
    


    1. Oracle結合(SQL結合)とは何ですか?

    2. 日付範囲の比較

    3. mysqlデータベースのサイズを取得する方法は?

    4. PHPを使用してMySQLデータベースに保存するIPアドレス