Conforme mencionado no meu comentário, abrir um sys_refcursor para outro cursor não é permitido até o Oracle 11g. Como você está tentando fazer algo que exige o uso de sys_refcursor, uma vez que a maneira pode ser como abaixo:
Criar um tipo
CREATE TYPE va IS TABLE OF NUMBER;
/
Quadra:
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;
/
Você veria aqui que no final estou usando novamente um
SELECT
instrução para ref_cursor
. É como se você não quiser usar a maneira usual, eu usei uma maneira alternativa.