<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Problem z funkcją i kursorami]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=2205</link>
		<description><![CDATA[Najświeższe odpowiedzi w Problem z funkcją i kursorami.]]></description>
		<lastBuildDate>Mon, 18 Aug 2014 17:37:23 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Problem z funkcją i kursorami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=5316#p5316</link>
			<description><![CDATA[Dziękuję za odpowiedź. Mniej więcej o to chodziło. W pierwszej kolumnie  (nazwisko1) muszą byc nazwiska posortowane od pracującego najdłużej do pracującego najkrócej natomiast w drugiej (nazwisko2) występuje nazwisko, którego data zatrudnienia jest najbliższa dacie zatrudnienia nazwiska1. Nie wiem czy zrozumiale to opisałem :/
Czyli w kolumnie nazwisko2 dane nazwisko może się powtarzać. W kolumnie nazwisko1 nie. Z góry dziekuję za pomoc bo nie dam rady tego opanować.]]></description>
			<author><![CDATA[dummy@example.com (mrktos)]]></author>
			<pubDate>Mon, 18 Aug 2014 17:37:23 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=5316#p5316</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Problem z funkcją i kursorami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=5314#p5314</link>
			<description><![CDATA[Nie wiem czy dobrze cię zrozumiałem ale zerknij na poniższy przykład:
create table pracownicy (id serial primary key, nazwisko varchar (50) not null,data_zatrudnienia date not null);
create type nazwisko as (nazwisko1 varchar(50), nazwisko2 varchar(50));
insert into pracownicy (nazwisko,data_zatrudnienia) values
('a','2013-01-01'),
('b','2013-02-01'),
('c','2013-03-01'),
('d','2013-04-01'),
('e','2013-05-01');

CREATE FUNCTION wyswietl() RETURNS SETOF nazwisko AS
$BODY$declare r nazwisko;
begin
   for r in select nazwisko as nazwisko1 , lead (nazwisko) over (order by data_zatrudnienia) as nazwisko2 from pracownicy loop
      return next r;
   end loop;
   return;
end;$BODY$
LANGUAGE plpgsql STABLE;

select * from wyswietl();]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Mon, 18 Aug 2014 07:49:38 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=5314#p5314</guid>
		</item>
		<item>
			<title><![CDATA[Problem z funkcją i kursorami]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=5312#p5312</link>
			<description><![CDATA[Witam. Posiadam tabelę z następującymi kolumnami:
- nazwisko
- data_zatrudnienia.
Muszę napisać funkcję która zwraca rekordy typu nazwiska (wcześniej go zdefiniowałem
- type nazwiska {nazwisko1 varchar, nazwisko2 varchar})  
zawierające nazwiska dla których różnica w datach zatrudnienia jest najmniejsza. W funkcji muszę użyć kursorów.
Pomoże ktoś bo nie mam zielonego pojęcia jak to zrobić...]]></description>
			<author><![CDATA[dummy@example.com (mrktos)]]></author>
			<pubDate>Fri, 15 Aug 2014 18:06:15 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=5312#p5312</guid>
		</item>
	</channel>
</rss>
