यहां आपका फ़ंक्शन है जो एक 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;
/
मुझे अपनी प्रतिक्रिया बताएं।