1

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

2

Odp: Zwrot ostatniego wyniku z funkcji