Temat: Zwrot ostatniego wyniku z funkcji
Mam taką funkcję mniej więcej.
CREATE OR REPLACE FUNCTION fun1(
wart1 integer,
wart2 integer)
RETURNS integer AS
$BODY$
DECLARE
lista1 record;
wynik integer;
BEGIN
for lista1 in (select wyn1,wyn2,wyn3,wyn4 from tabela where pole = wart1)
LOOP
IF wyn1 <> 0 THEN
raise notice '% wyn2 || % wart2 \\ %wyn4',lista1.wyn2, wart2, lista1.wyn3;
perform fun1(wyn1, wart2);
END IF;
END LOOP;
return wynik;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
Funkcja działa bez problemu i raise notice zwraca pokazuje wartości. Problem mam ze zwrotem wyniku. W skrócie raise notice pokazuje mi dwie linijki z wykonania. Czy jest jakaś możliwość zwrócenia jako wyniku tego ostatniego wpisu. Mianowicie chodzi mi o zwrócenie ostatniej (niepustej) wartości, która tutaj jest pokazana jako wyn1. Ja u siebie mam przykład, że raise notice pokazuje mi dwa wiersze. Równie dobrze może ich być dużo więcej. Stąd moje pytanie czy się da zwrócić ostatni wynik?
Pozdrawiam