Aby nazwać kursor, po prostu przypisz ciąg do refcursor
zmienna:
DECLARE
ref refcursor := ''willi'';
Wtedy portal będzie miał taką nazwę.
Ważne jest, aby przypisać nazwę przed otwierasz kursor.
Jeśli nie chcesz przypisywać nazwy, po prostu rzuć wynik funkcji na text
, który da ci nazwę kursora.
Jak używać FETCH
zależy od środowiska, w którym go nazywasz:
-
Jeśli wywołasz to z SQL, musisz to zrobić tak:
FETCH ALL FROM willi;
Będziesz musiał skonstruować instrukcję SQL, używając wyniku z funkcji, rzutuj na
text
. -
Jeśli wywołasz to z PL/pgSQL, możesz użyć zmiennej w
FETCH
oświadczenie, ale musisz podać miejsce docelowe dla wyniku:DECLARE r refcursor; x text; -- use the correct type BEGIN r := reffunc2(); FETCH NEXT FROM r INTO x; END;