2010-08-24 16 views
8

प्रश्न "Get resultset from oracle stored procedure" पर एक फॉलो-अप के रूप में, क्या एक संग्रहीत प्रक्रिया के परिणाम दिखाने का कोई तरीका है जो SQL डेवलपर के भीतर एक ग्रिड (सादा पाठ स्क्रिप्ट आउटपुट विंडो के बजाय) में REFCURSOR देता है?ओरेकल एसक्यूएल डेवलपर: ग्रिड में REFCURSOR परिणाम दिखाएं?

संपादित करें: जवाब में मदद की, लेकिन मैं अभी भी परिणाम "देखें मूल्य" विंडो में सेट प्रदर्शित करने में कोई समस्या आ रही है:

alt text

स्तंभ केवल एक छोटी राशि विस्तारित किया जा सकता , शायद वापस आने वाले परिणामों की संख्या के कारण। रीसाइज़र नियंत्रण के साथ खिड़की के विस्तार में मदद नहीं करता:

alt text

उत्तर

8

मुझे नहीं लगता कि आप एक प्रक्रिया के साथ कर सकते हैं।

संपादित करें: मेरे मूल उत्तर को सरल बनाने के लिए डीसीकी के लिए धन्यवाद।

लेकिन काम के आसपास के रूप में आप एक फ़ंक्शन लिख सकते हैं जो प्रक्रिया को कॉल करता है और उसके बाद SQL का उपयोग करके इसका आह्वान करता है।

उदा।

create or replace function callmyproc 
return sys_refcursor 
IS 
    rc sys_refcursor; 
BEGIN 

    myproc(rc); 

    return rc; 

END; 

जो तुम तो कॉल कर सकते हैं साथ:

select callmyproc() 
    from dual; 

जब इस उदाहरण चलाया जाता है, SQL डेवलपर डेटा ग्रिड एक परिणाम से पता चलता है, लेकिन अगर आप सही स्क्रॉल करें और संपादित करें बटन पर क्लिक करें, आप देखेंगे एक ग्रिड में परिणाम।

+1

या सरल अभी तक, एक फ़ंक्शन बनाएं जो प्रक्रिया को आमंत्रित करता है और रिफर्सर ​​देता है। – DCookie

+0

@DCookie - बेशक! एक और अधिक सुरुचिपूर्ण तरीका। धन्यवाद, मैंने अपना जवाब संशोधित किया है। –

+0

आपकी मदद के लिए धन्यवाद। मैंने जवाब स्वीकार कर लिया है, लेकिन परिणामों के लिए मैं "व्यू वैल्यू" विंडो वापस प्राप्त कर रहा हूं, छोटे कॉलम दिखाता है जिन्हें मैं संपादन बटन पर क्लिक करते समय विस्तार नहीं कर सकता। – technomalogical

संबंधित मुद्दे