Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

दूसरी संग्रहीत प्रक्रिया का उपयोग करके किसी अन्य तालिका में ऑरैकल संग्रहीत प्रक्रिया द्वारा लौटाए गए परिणाम सेट को कैसे सम्मिलित करें?

आप REF CURSOR का उपयोग करेंगे एक नियमित स्पष्ट कर्सर के रूप में :

SQL> CREATE TABLE employee AS
  2  SELECT rownum id, 'XXX' name
  3    FROM DUAL CONNECT BY level <= 10;
Table created.

SQL> CREATE OR REPLACE PROCEDURE find_employees (
  2    emp_id NUMBER,
  3    employee_cursor OUT SYS_REFCURSOR
  4  ) IS
  5  BEGIN
  6      open employee_cursor for
  7      select * from employee WHERE id = emp_id;
  8  END;
  9  /

Procedure created.

SQL> CREATE OR REPLACE PROCEDURE do_something IS
  2     cc sys_refcursor;
  3     l employee%rowtype;
  4  BEGIN
  5     find_employees(1, cc);
  6     LOOP
  7        FETCH cc INTO l;
  8        EXIT WHEN cc%NOTFOUND;
  9        dbms_output.put_line(l.id||'-'||l.name);
 10     END LOOP;
 11  END;
 12  /
Procedure created.

SQL> EXEC do_something;
1-XXX


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक्ज़ीक्यूटमैनी () का उपयोग करके फ़ाइल से Oracle तालिका में डेटा लोड करने में असमर्थ

  2. Oracle में ASCIISTR () फ़ंक्शन

  3. पदानुक्रमित क्वेरी - माता-पिता और बाल स्थानों से संबंधित रिकॉर्ड की गणना करना

  4. Rownum का उपयोग करके तालिका की दूसरी पंक्ति का चयन करना

  5. plsql (ओरेकल) में ज़िप फ़ोल्डर कैसे बनाएं