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

एक रेफरी कर्सर को रिकॉर्ड करने के लिए फ़ंक्शन से प्राप्त करें

मुझे संदेह है कि आपको लगता है कि आपका कर्सर REFCURSOR से पंक्तियाँ ला रहा है। यह। REFCURSOR स्वयं एक कर्सर है, आप इसे चुनने के लिए किसी अन्य कर्सर का उपयोग नहीं करते हैं।

आपका वर्तमान कर्सर क्या कर रहा है, एक कॉलम के साथ एक पंक्ति प्राप्त कर रहा है, जिसमें फ़ंक्शन कॉल का परिणाम होता है। जो एक record_cursor है record_name नहीं है , तो आपको एक प्रकार का बेमेल मिलता है।

मुझे संदेह है कि आप वास्तव में जो करना चाहते हैं वह कुछ इस तरह है:

declare
  symbol_cursor  package_name.record_cursor;
  symbol_record  package_name.record_name;
begin
  symbol_cursor := package_name.function_name('argument');
  loop
    fetch symbol_cursor into symbol_record;
    exit when symbol_cursor%notfound;

    -- Do something with each record here, e.g.:
    dbms_output.put_line( symbol_record.field_a );

  end loop;

  CLOSE symbol_cursor;

end;


  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 sqlplus रैपिंग परिणाम

  2. SQL अद्यतन कैस्केड के साथ त्रुटि प्राप्त करते रहें

  3. Oracle में LPAD () फ़ंक्शन

  4. सप्ताह संख्या से सप्ताह का पहला दिन प्राप्त करें

  5. अद्यतन या सम्मिलित करने पर संबंधित संदर्भित पंक्ति पर टाइमस्टैम्प अपडेट करें