Um eine Reihe von Werten zu übergeben, müssen Sie die Tabellen- oder Array-Typen von Oracle verwenden.
Zunächst erstellen Sie einen Tabellentyp (z. B. für ZAHL):
CREATE TYPE number_table AS TABLE OF NUMBER;
Wenn Sie den Parameter für die Abfrage erstellen, deklarieren Sie ihn als assoziatives PL/SQL-Array:
OracleParameter param1 = new OracleParameter();
param1.OracleDbType = OracleDbType.Int32;
param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
Weisen Sie dann einige Werte zu:
param1 = new int[] { 3857, 3858, 3863, 3285 };
Und Ihre Abfrage benötigt eine Umwandlung:
SELECT * FROM tablename a
where a.flokkurid in (TABLE(CAST(:manyNumbers AS number_table)))
order by sjodategund, rodun