Um den Cursor zu benennen, weisen Sie dem refcursor
einfach einen String zu Variable:
DECLARE
ref refcursor := ''willi'';
Dann trägt das Portal diesen Namen.
Wichtig ist, dass Sie den Namen vorher vergeben Sie öffnen den Cursor.
Wenn Sie den Namen nicht zuweisen möchten, wandeln Sie das Funktionsergebnis einfach in text
um , das gibt Ihnen den Cursornamen.
Verwendung von FETCH
hängt von der Umgebung ab, in der Sie es aufrufen:
-
Wenn Sie es aus SQL aufrufen, müssen Sie es so machen:
FETCH ALL FROM willi;
Sie müssen die SQL-Anweisung mit dem Ergebnis der Funktion konstruieren und in
text
umwandeln . -
Wenn Sie es von PL/pgSQL aus aufrufen, können Sie eine Variable im
FETCH
verwenden -Anweisung, aber Sie müssen ein Ziel für das Ergebnis angeben:DECLARE r refcursor; x text; -- use the correct type BEGIN r := reffunc2(); FETCH NEXT FROM r INTO x; END;