Som nævnt i min kommentar er det ikke tilladt at åbne en sys_refcursor for en anden markør før Oracle 11g. Da du forsøger at gøre noget, der kræver brug af sys_refcursor, kunne en gang måde være som nedenfor:
Opret en type
CREATE TYPE va IS TABLE OF NUMBER;
/
Bloker:
DECLARE
CURSOR c
IS
SELECT employee_id FROM employee;
rc SYS_REFCURSOR;
var va;
BEGIN
OPEN c;
FETCH c BULK COLLECT INTO var;
CLOSE c;
OPEN rc FOR SELECT COLUMN_VALUE FROM TABLE (var);
END;
/
Du vil se her, at jeg til sidst igen bruger en SELECT
sætning for ref_cursor
. Det er ligesom hvis du ikke vil bruge den sædvanlige måde, så brugte jeg en alternativ måde.