Để chuyển một bộ giá trị, bạn cần sử dụng kiểu bảng hoặc mảng của Oracle.
Lúc đầu, bạn tạo một loại bảng (ví dụ:cho NUMBER):
CREATE TYPE number_table AS TABLE OF NUMBER;
Khi bạn tạo tham số cho truy vấn, hãy khai báo nó dưới dạng một mảng PL / SQL liên kết:
OracleParameter param1 = new OracleParameter();
param1.OracleDbType = OracleDbType.Int32;
param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
Sau đó, gán một số giá trị:
param1 = new int[] { 3857, 3858, 3863, 3285 };
Và truy vấn của bạn cần truyền:
SELECT * FROM tablename a
where a.flokkurid in (TABLE(CAST(:manyNumbers AS number_table)))
order by sjodategund, rodun