how do oracle stored procedures (w/ cursors) work? -
मेरे पास निम्न ऑरेकल संग्रहीत कार्यप्रणाली है
बनाएं या पुनःप्रकाशन प्रक्रिया प्राप्त करेंरेखे (कारण में p_cursor SYS_REFCURSOR) के रूप में कारणों से * चयन के लिए p_cursor खोलें; समाप्त; हालांकि, जब मैं SQL- डेवलपर में यह संग्रहीत कार्यविधि चलाता हूं तो मैं कुछ भी नहीं देखता। मैं बस इस तरह से कुछ देख रहा हूँ:
डेटाबेस oracleLocal से कनेक्ट करना प्रक्रिया समाप्त हो गई डेटाबेस oracleLocal से डिस्कनेक्ट करना मैं एमएस एसक्यूएल सर्वर से आ रहा हूं और इस तरह एक संग्रहीत कार्यविधि चलाते समय वास्तविक परिणाम देखने के लिए उपयोग किया जाता हूं। क्या यह संग्रहीत प्रक्रिया परिणाम नहीं लौट रही है क्योंकि मैं कर्सर का उपयोग कर रहा हूं ??
संग्रहीत कार्यविधि कुछ लौट रहा है यह सिर्फ आप परिणाम के साथ कुछ भी नहीं कर रहे हैं।
आप SQLDeveloper में निम्नलिखित स्क्रिप्ट को चलाने के द्वारा बस ऐसा कर सकते हैं:
variables csr REFCURSOR; एक्सीईट आरक्षित (कारण: सीएसआर); - बृहदान्त्र पैरामीटर को एक चर प्रिंट सीएसआर के रूप में पहचानता है; एक और तरीका है प्रत्येक पंक्ति को लाने और कुछ प्रकार की प्रसंस्करण करना है:
घोषणा - sys_refcursor कमजोर typed refcsr SYS_REFCURSOR; - एक रिकॉर्ड परिभाषित करें ताकि हम क्षेत्र rej_rec Reasons_for_Recjection% ROWTYPE संदर्भ कर सकते हैं; BEGIN getRejectedReasons (refcsr); - परिणाम के माध्यम से लूप लूप - एक बार में एक बार हो जाता है; - यदि फ़ेच को कोई और पंक्तियां नहीं मिलतीं तो पाश से बाहर निकलें EXIT WHEN refcsr% NOTFOUND; - यहाँ कुछ करो - उदाहरण के लिए: DBMS_OUTPUT.PUT_LINE (rej_rec.reason_desc); अंत लुप; समाप्त;
Comments
Post a Comment