For at navngive markøren skal du blot tildele en streng til refcursor
variabel:
DECLARE
ref refcursor := ''willi'';
Så vil portalen have det navn.
Det er vigtigt, at du tildeler navnet før du åbner markøren.
Hvis du ikke ønsker at tildele navnet, skal du blot caste funktionsresultatet til text
, der vil give dig markørens navn.
Sådan bruger du FETCH
afhænger af miljøet, hvor du kalder det:
-
Hvis du kalder det fra SQL, skal du gøre det sådan her:
FETCH ALL FROM willi;
Du bliver nødt til at konstruere SQL-sætningen ved hjælp af resultatet fra funktionen, cast til
text
. -
Hvis du kalder det fra PL/pgSQL, kan du bruge en variabel i
FETCH
erklæring, men du skal angive en destination for resultatet:DECLARE r refcursor; x text; -- use the correct type BEGIN r := reffunc2(); FETCH NEXT FROM r INTO x; END;