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

किसी फ़ंक्शन के परिणाम को कैसे स्टोर करें जो sysrefcursor लौटाएगा?

यहां आपका फ़ंक्शन है जो एक varchar2 चर लेता है और एक refcursor (कमजोर टाइप किया गया) देता है।

 CREATE OR replace FUNCTION fn_return_cur(v IN VARCHAR2)
RETURN SYS_REFCURSOR
IS
  c1 SYS_REFCURSOR;
BEGIN
    OPEN c1 FOR
      SELECT 'ABC'
      FROM   dual
      WHERE  'col1' = v;

    RETURN c1;
END;

/  

यहां वह प्रक्रिया है जिसमें कर्सर मान को कार्य करने के लिए तर्क के रूप में पारित किया गया है और लौटा हुआ कर्सर OUT तर्क के रूप में पारित हुआ है।

 CREATE OR replace PROCEDURE Pr_pass_out_cur(v_2 OUT SYS_REFCURSOR)
IS
  func_arg  VARCHAR2(3);
  other_arg VARCHAR2(3);
  CURSOR c_2 IS
    SELECT 'ABC' col1,
           'DEF' col2
    FROM   dual;
BEGIN
    LOOP
        FETCH c_2 INTO func_arg, other_arg;

        EXIT WHEN c_2%NOTFOUND;

        v_2 := Fn_return_cur(func_arg);
    END LOOP;
EXCEPTION
  WHEN OTHERS THEN
             NULL;
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. डॉकर ओरेकल इंस्टेंट क्लाइंट

  2. ग्रिडव्यू में Oracle डेटाबेस तालिका

  3. Oracle डेटाबेस कई तालिकाओं पर जाँच लागू करता है

  4. Oracle SQL में 1970 UTC के बाद से मिली टाइमस्टैम्प कैसे प्राप्त करें?

  5. फ़ाइल करने के लिए Oracle लिखें