PLPGSQL: Sichtbarkeit von Variabeln in Blöcken

B

besi

olgender Codeschnipsel:

FETCH cur_views INTO v_view_tmp;
WHILE FOUND LOOP
FETCH cur_views INTO v_view_tmp;
v_view_string := v_view_string || ', ' || v_view_tmp;
-- RETURN v_view_string -- Liefert 'Berge, '
END LOOP;
RETURN v_view_string; -- Liefert ''

Die Variable v_view_string ist im While-Block sichtbar, ausserhalb dieses Blockes jedoch nicht mehr. Dies Obwohl sie ganz normal deklariert wurde.
Die Funktion liefert also immer '' zurück. Beim Debugging hat sich auch gezeigt, dass die Variable innerhalb des Blockes sichtbar ist.
Muss man die Variable global definieren oder so ähnlich?

Bin froh für Anregungen...
 
Der Fetch block innerhalb der Schleife gehört ans Ende der Schleife, dann klappts...
 
Zurück