इस ट्यूटोरियल में, मैं sys_refcursor का उपयोग करके Oracle में संग्रहीत कार्यविधि से परिणामसेट वापस करने के लिए एक उदाहरण दे रहा हूँ।
Oracle में संग्रहीत कार्यविधि से परिणामसेट वापस करने के लिए इन चरणों का पालन करें।
<एच3>1. Oracle में एक संग्रहित प्रक्रिया बनाएंनिम्न संग्रहीत कार्यविधि (p_dept) विभाग के नाम sys_refcursor (p_result) में विभाग तालिका से लौटाएगी जहाँ विभाग संख्या पैरामीटर मान से कम या उसके बराबर है।
CREATE OR REPLACE PROCEDURE p_dept (p_deptno IN dept.deptno%TYPE, p_result OUT SYS_REFCURSOR) IS BEGIN OPEN p_result FOR SELECT dname FROM dept WHERE deptno <= p_deptno; END; /<एच3>2. लौटा हुआ परिणाम प्राप्त करेंसेट और प्रक्रिया करें
निम्नलिखित पीएल/एसक्यूएल ब्लॉक संग्रहित प्रक्रिया (p_dept) से परिणाम प्राप्त करेगा और विभाग के नाम प्रिंट करेगा।
SET SERVEROUTPUT ON; DECLARE v_result SYS_REFCURSOR; v_dname VARCHAR2 (100); BEGIN /* call the procedure by passing department numbner and sys_refcursor for resultset */ p_dept (30, v_result); LOOP FETCH v_result INTO v_dname; EXIT WHEN v_result%NOTFOUND; DBMS_OUTPUT.put_line (v_dname); END LOOP; END; /
आउटपुट:
ACCOUNTING RESEARCH SALES PL/SQL procedure successfully completed.
यह भी देखें:
- पीएल/एसक्यूएल का उपयोग करके एक पीडीएफ फाइल बनाएं
- पीएल/एसक्यूएल में किसी भी देश का वर्तमान स्थानीय समय प्राप्त करें