Per nominare il cursore, assegna semplicemente una stringa al refcursor
variabile:
DECLARE
ref refcursor := ''willi'';
Quindi il portale avrà quel nome.
È importante assegnare il nome prima apri il cursore.
Se non vuoi assegnare il nome, lancia semplicemente il risultato della funzione su text
, che ti darà il nome del cursore.
Come usare FETCH
dipende dall'ambiente in cui lo chiami:
-
Se lo chiami da SQL, devi farlo in questo modo:
FETCH ALL FROM willi;
Dovrai costruire l'istruzione SQL usando il risultato della funzione, cast in
text
. -
Se lo chiami da PL/pgSQL, puoi usare una variabile in
FETCH
istruzione, ma devi fornire una destinazione per il risultato:DECLARE r refcursor; x text; -- use the correct type BEGIN r := reffunc2(); FETCH NEXT FROM r INTO x; END;