値のセットを渡すには、Oracleのテーブルまたは配列タイプを使用する必要があります。
最初に、テーブルタイプを作成します(例:NUMBER用):
CREATE TYPE number_table AS TABLE OF NUMBER;
クエリのパラメータを作成するときは、それを連想PL/SQL配列として宣言します。
OracleParameter param1 = new OracleParameter();
param1.OracleDbType = OracleDbType.Int32;
param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
次に、いくつかの値を割り当てます。
param1 = new int[] { 3857, 3858, 3863, 3285 };
そして、クエリにはキャストが必要です:
SELECT * FROM tablename a
where a.flokkurid in (TABLE(CAST(:manyNumbers AS number_table)))
order by sjodategund, rodun