<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Zwrot ostatniego wyniku z funkcji]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=2299</link>
		<description><![CDATA[Najświeższe odpowiedzi w Zwrot ostatniego wyniku z funkcji.]]></description>
		<lastBuildDate>Thu, 20 Aug 2015 10:39:29 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Zwrot ostatniego wyniku z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=5536#p5536</link>
			<description><![CDATA[Jasne że się da, poczytaj o "window functions" link [url]http://www.postgresql.org/docs/9.2/static/functions-window.html[/url]

Dokładnie - funkcja last_value
W sieci masz mnóstwo przykładów, musisz tylko określić co to dla Ciebie znaczy ostatni bo to co teraz masz napisane w funkcji to kolejność zapisania rekordu na dysku ale nie jest to do końca prawda]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Thu, 20 Aug 2015 10:39:29 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=5536#p5536</guid>
		</item>
		<item>
			<title><![CDATA[Zwrot ostatniego wyniku z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=5533#p5533</link>
			<description><![CDATA[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]]></description>
			<author><![CDATA[dummy@example.com (hifek)]]></author>
			<pubDate>Tue, 18 Aug 2015 22:25:03 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=5533#p5533</guid>
		</item>
	</channel>
</rss>
