Cursor Ref Issue: What am I missing?
Date: Thu, 30 Sep 2010 06:56:08 -0700 (PDT)
Message-ID: <6b2d672c-ab58-4dcc-9c89-94da8c638619_at_a15g2000yqm.googlegroups.com>
Hi all,
The coded below sets up and hopefully demonstrates an issue I am having.
The line 'OPEN v_my_cur;' in tha package body produces the error 'Expresssion is of wrong type.
The database is Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit.
Any ideas what's I've missed?
thanks
CREATE TABLE my_table(a VARCHAR2(1),b VARCHAR2(1));
INSERT INTO my_table(a,b) VALUES('a','b');
CREATE OR REPLACE PACKAGE MY_REF_CURSOR_PKG AS PROCEDURE MY_prc;
END MY_REF_CURSOR_PKG; CREATE OR REPLACE PACKAGE BODY MY_REF_CURSOR_PKG AS
TYPE my_rec IS RECORD(
a my_table.b%TYPE, b my_table.b%TYPE);
TYPE my_cur IS REF CURSOR RETURN my_rec;
Function get_data_fnc
RETURN my_cur
IS
my_rc my_cur;
BEGIN
OPEN my_rc
FOR
SELECT t.a, t.b
FROM my_table t;
RETURN my_rc;
END get_data_fnc;
PROCEDURE my_fnc
IS
v_my_cur my_cur;
BEGIN v_my_cur := get_data_fnc;
OPEN v_my_cur;
LOOP
FETCH v_my_cur INTO r_failed_wo;
EXIT WHEN v_my_cur%NOTFOUND;
END LOOP;
END my_fnc;
END MY_REF_CURSOR_PKG; Received on Thu Sep 30 2010 - 08:56:08 CDT