2009-07-03 14 views
9

यदि मेरे पास कोई ऐसा फ़ंक्शन है जो किसी क्वेरी के लिए संदर्भ कर्सर देता है, तो मैं SQL डेवलपर में इसका परिणाम सेट कैसे देख सकता हूं? संदर्भ कर्सर के परिणामों को देखने के लिए टॉड में एक विशेष टैब है, यह वह कार्यक्षमता है जिसे मैं ढूंढना चाहता हूं।ओरेकल एसक्यूएल डेवलपर: रेफ कर्सर से परिणाम कैसे देखें?

उत्तर

6

अपने परिणाम रिकॉर्ड में कर्सर फ़ील्ड को डबल क्लिक करें। दाईं तरफ एक "..." आइकन है। इस पर क्लिक करें और आप सामग्री देखेंगे

+1

पीएल/एसक्यूएल डेवलपर पर भी लागू होता है। –

5

हाय मुझे पता है कि यह थोड़ी देर पहले पूछा गया था, लेकिन मैंने अभी यह पता लगाया है और यह किसी और की मदद कर सकता है। सुनिश्चित नहीं है कि यह वही है जो आप खोज रहे हैं लेकिन इस तरह मैं एक संग्रहित प्रो को कॉल करता हूं और SQL डेवलपर में आउटपुट को देखता हूं।
एसक्यूएल डेवलपर में proc देखते समय, राइट क्लिक करें और 'रन' चुनें या रन पीएल/एसक्यूएल विंडो लाने के लिए Ctrl + F11 का चयन करें। यह इनपुट और आउटपुट पैरा के साथ एक टेम्पलेट बनाता है जिसे आपको संशोधित करने की आवश्यकता है। एक sys_refcursor के परिणामों को वापस करने के लिए आपको एक पंक्ति प्रकार घोषित करने की आवश्यकता है जो ठीक है जो proc द्वारा वापस किए गए चुनिंदा stmt/sys_refcursor के बराबर है। नीचे मैं "टाइप t_row" घोषित करता हूं जो मेरे आउटपुट फ़ील्ड से मेल खाता है, फिर लौटा sys_refcursor के माध्यम से लूप। t_row मेरी sys_refcursor तो यह sys_refcursor की प्रत्येक पंक्ति के साथ आबादी वाले हो जाता है से मेल खाता है:

DECLARE 
    P_CAE_SEC_ID_N NUMBER; 
    P_FM_SEC_CODE_C VARCHAR2(200); 
    P_PAGE_INDEX NUMBER; 
    P_PAGE_SIZE NUMBER; 
    v_Return sys_refcursor; 
    type t_row is record (CAE_SEC_ID NUMBER,FM_SEC_CODE VARCHAR2(7),rownum number, v_total_count number); 
    v_rec t_row; 

BEGIN 
    P_CAE_SEC_ID_N := NULL; 
    P_FM_SEC_CODE_C := NULL; 
    P_PAGE_INDEX := 0; 
    P_PAGE_SIZE := 25; 

    CAE_FOF_SECURITY_PKG.GET_LIST_FOF_SECURITY(
    P_CAE_SEC_ID_N => P_CAE_SEC_ID_N, 
    P_FM_SEC_CODE_C => P_FM_SEC_CODE_C, 
    P_PAGE_INDEX => P_PAGE_INDEX, 
    P_PAGE_SIZE => P_PAGE_SIZE, 
    P_FOF_SEC_REFCUR => v_Return 
); 
    -- Modify the code to output the variable 
    -- DBMS_OUTPUT.PUT_LINE('P_FOF_SEC_REFCUR = '); 
    loop 
    fetch v_Return into v_rec; 
    exit when v_Return%notfound; 
    DBMS_OUTPUT.PUT_LINE('sec_id = ' || v_rec.CAE_SEC_ID || 'sec code = ' ||v_rec.FM_SEC_CODE); 
    end loop; 

END; 
1

वहाँ sqldeveloper में datagrid में एक refcursor प्रदर्शित करने के लिए कोई रास्ता नहीं है। हम एक रिफर्सर ​​को परिभाषित कर सकते हैं, एसपी को कॉल कर सकते हैं, फिर रीफर्सर ​​प्रिंट कर सकते हैं, फिर डेटा स्क्रिप्ट आउटपुट विंडो में एक विमान टेक्स्ट मोड में मुद्रित किया जाएगा, लेकिन क्वेरी परिणाम विंडो में नहीं।

6
SET SERVEROUTPUT ON; 
VARIABLE X REFCURSOR; 
EXEC PROCEDURE_WITH_OUTPUT_SYS_REFCURSOR(:X); 
PRINT X; 
+0

क्या आप पैरामीटर के रूप में पास करने के लिए एक चर सेट करने के बारे में जानते हैं। (कर्सर के साथ संयोजन के रूप में मेरी कोड यहाँ ... मैं बना सकते हैं और "pin_customer_last_name_string" के लिए एक चर सेट करने के लिए कोशिश कर रहा हूँ /* */ वर v_customer_cursor refcursor;।। /* */ कार्यकारी MYSCHEMA01.MYPACKAGE01 .MYPROCEDURE01 (pin_customer_last_name_string => 'स्मिथ', pout_customer_cursor =>: v_customer_cursor); /* */ प्रिंट v_customer_cursor; /* */ – granadaCoder

+0

मैं भी है कि इस पर गौर नहीं कर सकते हैं ... मेरा काम मुझे नहीं करता है इन दिनों ओरेकल डीबी के सामने। – quillbreaker

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

  • कोई संबंधित समस्या नहीं^_^