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

एक प्रक्रिया द्वारा लौटाए गए आरईएफ कर्सर से प्राप्त करें और थोक संग्रह करें

for . में कर्सर चर का उपयोग करने की अनुमति नहीं है कर्सर लूप (FOR i IN myCursor ) FETCH INTO . का उपयोग करते हुए आपको कर्सर वेरिएबल से एक समय में स्पष्ट रूप से एक पंक्ति प्राप्त करनी होगी उदाहरण के लिए स्टेटमेंट और रेगुलर लूप स्टेटमेंट या FETCH BULK COLLECT INTO . का उपयोग करें एक संग्रह पॉप्युलेट करने के लिए। उदाहरण के लिए:

SQL> declare
  2    TYPE t_clientID_nt IS TABLE OF dual%rowtype;
  3    clientID_nt t_clientID_nt;
  4  
  5    l_cur sys_refcursor;
  6  
  7    procedure OpenAndPopulateCursor(p_cur in out sys_refcursor) is
  8    begin
  9      open p_cur for
 10        select *
 11         from dual;
 12    end;
 13  
 14  begin
 15    OpenAndPopulateCursor(l_cur);
 16  
 17    if l_cur%isopen
 18    then
 19      fetch l_cur bulk collect into clientID_nt;
 20    end if;
 21  
 22    dbms_output.put_line(concat( to_char(clientID_nt.count) 
 23                               , ' record(s) has/have been fetched.'));
 24  end;
 25  /

 1 record(s) has/have been fetched.

 PL/SQL procedure successfully completed



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 1 से अधिक कॉलम पर बी-ट्री इंडेक्स कैसा दिखता है?

  2. विभिन्न Oracle प्रकार के लिए NULL मान खोज रहे हैं

  3. Oracle में DBMS_RANDOM के साथ एक यादृच्छिक तिथि उत्पन्न करें

  4. पुनरावर्ती SQL स्तरों की अधिकतम संख्या (50) पार हो गई

  5. कैरेक्टर ऑरैकल के बाद स्ट्रिंग कैसे प्राप्त करें?