2009-05-06 4 views
8

पैरामीटर की सरणी स्वीकार करने वाले ऑरैकल में संग्रहीत प्रक्रिया कैसे बनाएं, क्या कोई मुझे बता सकता है कि क्या ऑरैकल में संग्रहित प्रक्रिया बनाना संभव है जो इनपुट पैरामीटर के रूप में सरणी स्वीकार करता है और कैसे?पैरामीटर

+0

आपके पास किस प्रकार का ग्राहक है? क्या आप इस संग्रहीत प्रक्रिया को किसी अन्य पीएल/एसक्यूएल प्रक्रिया से या सी # या जावा या ... से कॉल करना चाहते हैं? – tuinstoel

उत्तर

12

हां। ओरेकल उन्हें संग्रह कहते हैं और आप विभिन्न प्रकार के संग्रह का उपयोग कर सकते हैं।

एक VARRAY का उपयोग कर एक सरल सरणी उदाहरण।


DECLARE 
    TYPE Str_Array IS VARRAY(4) OF VARCHAR2(50); 
    v_array Str_Array; 

    PROCEDURE PROCESS_ARRAY(v_str_array Str_Array) 
    AS 
    BEGIN 
    FOR i IN v_str_array.first .. v_str_array.last LOOP 
     DBMS_OUTPUT.PUT_LINE('Hello '||v_str_array(i)); 
    END LOOP; 
    END; 

BEGIN 

    v_array := Str_Array('John','Paul','Ringo','George'); 

    PROCESS_ARRAY(v_array); 

    -- can also pass unbound Str_Array 
    PROCESS_ARRAY(Str_Array('John','Paul','Ringo','George')); 

END; 

+0

बहुत बढ़िया। मैंने पैरामीटर के रूप में Str_Array (...) दिखाते हुए एक दूसरा उदाहरण जोड़ा। –

1

यदि मैं गलत नहीं हूं, तो मूल नाम है जिसे टैबलेट कहा जाता है जो मूल रूप से एक सरणी है। लेकिन पिछली बार मैंने 2001 का इस्तेमाल किया था, इसलिए आजकल सबसे शक्तिशाली प्रकार हैं।

चेक इस http://www.developer.com/db/article.php/3379271