<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - select ... into ...]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=73&amp;type=atom"/>
	<updated>2008-08-22T09:37:19Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=73</id>
		<entry>
			<title type="html"><![CDATA[Odp: select ... into ...]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=259#p259"/>
			<content type="html"><![CDATA[by być dokładnym - "pierwszy znaleziony"]]></content>
			<author>
				<name><![CDATA[agniecha]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=121</uri>
			</author>
			<updated>2008-08-22T09:37:19Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=259#p259</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: select ... into ...]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=258#p258"/>
			<content type="html"><![CDATA[Jak widać postgres zwraca pierwszy (cokolwiek by znaczyło słowo 'pierwszy') wiersz.]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2008-08-22T09:34:47Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=258#p258</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: select ... into ...]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=257#p257"/>
			<content type="html"><![CDATA[Nie o to mi chodzi.
Założenie jest takie, że select ten (przy prawidłowych danych w tabelach) ma zwracać tylko jedną wartość - wtedy nie potrzebuję kursora. 
Okazało się, że dane wejściowe były złe i oczekiwałam, że funkcja nie wykona się a tylko zaloguje błąd. Ku mojemu zdziwieniu błąd się nie pojawił a funkcja wykonała się dla pierwszej znalezionej wartości.

np. Oracle w przypadku próby przypisania więcej niż jednej wartości do zmiennej w "select ... into ..." zwraca błąd]]></content>
			<author>
				<name><![CDATA[agniecha]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=121</uri>
			</author>
			<updated>2008-08-22T09:28:43Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=257#p257</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: select ... into ...]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=256#p256"/>
			<content type="html"><![CDATA[Wydaje sie ze musisz zrobic petle, do wykonywania takich operacji lepsze sa cursory.]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2008-08-22T09:18:05Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=256#p256</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[select ... into ...]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=255#p255"/>
			<content type="html"><![CDATA[Witam,
mam pytanie dotyczące komendy select into

Zauważyłam dziwną zależność, 
gdy wykonuję selecta:

   select cl.client_number, cl.segment_code
    from smiw.smiw_tab_clients cl, smiw.smiw_tab_clients_accounts ca
    where  ca.account_number=1008
    and    ca.role02='1'
    and    ca.client_number=cl.client_number;

otrzymuję wynik:

 client_number | segment_code
---------------+--------------
          4648 | 2
          4649 | 2

natomiast przy wykorzystaniu tego selecta w funkcji i przypisaniu ich do zmiennych
        select cl.client_number, cl.segment_code into v_client, v_segm
     from smiw.smiw_tab_clients cl, smiw.smiw_tab_clients_accounts ca
     where  ca.account_number=account_number
     and    ca.role02='1'
     and    ca.client_number=cl.client_number;

wykonuje się zapytanie, tylko dla jednego, pierwszego rekordu z otrzymanego wyniku:

smiw=> select aaa_f_test(1008,'2008-08-22');
NOTICE:  4648  2
NOTICE:  A1
 aaa_f_test
-------------

(1 row)

CZY TO JEST BŁĄD CZY ŚWIADOME DZIAŁANIE POSTGRESA?
spodziewałabym się raczej, że funkcja zwróci błąd...]]></content>
			<author>
				<name><![CDATA[agniecha]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=121</uri>
			</author>
			<updated>2008-08-22T08:59:20Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=255#p255</id>
		</entry>
</feed>
