Opzione 1 Crea una funzione per restituire un cursore di riferimento forte.
create or replace function getCursor return refcur_pkg.refcur_t is
c_tmp refcur_pkg.refcur_t;
begin
open c_tmp for select * from StockTable;
return c_tmp;
end;
SELECT * FROM TABLE(StockPivot(getCursor()));
Opzione 2. Puoi provare anche l'espressione del cursore, dovrebbe funzionare. Espressione cursore .
SELECT * FROM TABLE(StockPivot(Cursor(select * from StockTable)));