यह एक सहयोगी सरणी डेटा-प्रकार नहीं है (जिसे "तालिका द्वारा अनुक्रमणिका" भी कहा जाता है); यह एक संग्रह डेटा-प्रकार है और इसे SQL दायरे में परिभाषित किया गया है।
सहयोगी सरणियाँ केवल PL/SQL दायरे में उपलब्ध हैं और इन्हें इस प्रकार परिभाषित किया जा सकता है:
CREATE PACKAGE package_name AS
TYPE STRING_MAP IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;
END;
/
सी # कुछ इस तरह से संग्रहीत प्रक्रियाओं में सहयोगी सरणी पास करने का समर्थन करता है:
OracleParameter parameter = new OracleParameter();
parameter.ParameterName = "YourParameterName";
parameter.OracleDbType = OracleDbType.Varchar2;
parameter.Direction = ParameterDirection.Input;
parameter.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
parameter.Value = new String[5]{"a","b","c","d","e"};
C# नहीं करता है गैर-सहयोगी सरणियों को पारित करने का समर्थन करें।
यदि आप एक संग्रह (एक गैर-सहयोगी सरणी) को उपयोगकर्ता-परिभाषित प्रकार (यूडीटी) के सदस्य के रूप में परिभाषित करना चाहते हैं तो आपको एक सहयोगी सरणी को पारित करने के मध्यवर्ती चरण का उपयोग करना होगा और फिर इसे परिवर्तित करने के लिए पीएल/एसक्यूएल का उपयोग करना होगा। यूडीटी को सौंपने से पहले एक संग्रह के लिए। आप यह सब एक संग्रहित प्रक्रिया में PL/SQL पैकेज में लपेट सकते हैं।