मानों का एक सेट पास करने के लिए, आपको 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