Om een reeks waarden door te geven, moet u de tabel- of arraytypen van Oracle gebruiken.
Eerst maakt u een tabeltype aan (bijvoorbeeld voor NUMBER):
CREATE TYPE number_table AS TABLE OF NUMBER;
Wanneer u de parameter voor de query maakt, declareert u deze als een associatieve PL/SQL-array:
OracleParameter param1 = new OracleParameter();
param1.OracleDbType = OracleDbType.Int32;
param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
Wijs vervolgens enkele waarden toe:
param1 = new int[] { 3857, 3858, 3863, 3285 };
En je vraag heeft een cast nodig:
SELECT * FROM tablename a
where a.flokkurid in (TABLE(CAST(:manyNumbers AS number_table)))
order by sjodategund, rodun