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

पीएल/एसक्यूएल:स्पष्ट कर्सर को रेफरी कर्सर में कनवर्ट करें?

जैसा कि मेरी टिप्पणी में बताया गया है, Oracle 11g तक किसी अन्य कर्सर के लिए sys_refcursor खोलने की अनुमति नहीं है। जैसा कि आप कुछ ऐसा करने की कोशिश कर रहे हैं जो sys_refcursor के उपयोग की मांग करता है, एक बार तरीका नीचे जैसा हो सकता है:

एक प्रकार बनाएं

CREATE TYPE va IS TABLE OF NUMBER;
/

ब्लॉक करें:

DECLARE
   CURSOR c
   IS
      SELECT employee_id FROM employee;

   rc    SYS_REFCURSOR;
   var   va;
BEGIN
   OPEN c;

   FETCH c BULK COLLECT INTO var;

   CLOSE c;

   OPEN rc FOR SELECT COLUMN_VALUE FROM TABLE (var);
END;
/

आप यहां देखेंगे कि अंत में मैं फिर से एक SELECT का उपयोग कर रहा हूं ref_cursor . के लिए स्टेटमेंट . यह वैसा ही है जैसे यदि आप सामान्य तरीके से उपयोग नहीं करना चाहते हैं, तो मैंने वैकल्पिक तरीके का उपयोग किया है।




  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 SQL - अनुक्रमिक मान श्रेणियों की पहचान करें

  2. सर्वर को पुनरारंभ करने के बाद ORA-12514 त्रुटि

  3. Oracle अनुक्रमणिका अशक्त स्तंभ मान कब करता है?

  4. ओरेकल एसक्यूएल तारीख से समय कैसे निकालें

  5. SQL पर प्रतीक्षा करने योग्य Oracle सत्र * क्लाइंट ईवेंट से नेट संदेश