<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Zwrot typu danych real z funkcji]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=1359</link>
		<description><![CDATA[Najświeższe odpowiedzi w Zwrot typu danych real z funkcji.]]></description>
		<lastBuildDate>Fri, 10 Aug 2012 08:39:25 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Zwrot typu danych real z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=3682#p3682</link>
			<description><![CDATA[Rzeczywiście działa super :) 
Już widzę gdzie popełniłem błąd

Dzięki 1100100 - krotne :D]]></description>
			<author><![CDATA[dummy@example.com (szmontak)]]></author>
			<pubDate>Fri, 10 Aug 2012 08:39:25 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=3682#p3682</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Zwrot typu danych real z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=3658#p3658</link>
			<description><![CDATA[u mnie działa, tyle ze wywołanie tej funkcji powinno mieć składnie SELECT  przelicz( 5 );

a funkcja powinna wyglądać dokładnie tak (to tylko szczegół) dodatkowo proponuje zmienić tym zwracany przez funkcje na numeric
CREATE OR REPLACE FUNCTION przelicz( ID_EKWIP int ) RETURNS real AS $$
DECLARE WAGA_TMP real; -- waga przedmiotów tymczasowa
BEGIN
SELECT sum( waga ) INTO WAGA_TMP FROM przedmiot WHERE id_ekwipunek = ID_EKWIP;
RETURN WAGA_TMP;
END;
$$LANGUAGE plpgsql VOLATILE]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Sat, 07 Jul 2012 20:53:51 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=3658#p3658</guid>
		</item>
		<item>
			<title><![CDATA[Zwrot typu danych real z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=3657#p3657</link>
			<description><![CDATA[Witam, mam taki nietypowy problem z prostą funkcją:

CREATE OR REPLACE FUNCTION przelicz( ID_EKWIP int ) RETURNS real AS $$

DECLARE WAGA_TMP real; -- waga przedmiotów tymczasowa

BEGIN

SELECT sum( waga ) INTO WAGA_TMP FROM przedmiot WHERE id_ekwipunek = ID_EKWIP;

-- próbowałem też: 
-- WAGA_TMP = (SELECT sum( waga )  FROM przedmiot WHERE id_ekwipunek = ID_EKWIP);

RETURN WAGA_TMP;

END

Funkcja mi zwraca zero jak ją wywołam:

SELECT * FROM przelicz( 5 ); -- dla id = 5

a dokładniej:

           przelicz
---------------------------
                         0



Wynik zapytania:

SELECT sum( waga ) FROM przedmiot WHERE id_ekwipunek = 5;


Jest następujący:

  sum
-------
 15.73
(1 row)

Czy jak rozumiem nie mogę zwracać z funkcji typu real danych  (float też próbowałem)
czy robię gdzieś prosty błąd o którym nikt nie pisze w dokumentacji albo ja nie trafiłem na takowy opis a szukam już od tygodnia,... 

Jeśli ktoś ma jakiś pomysł to zapraszam do dyskusji :)]]></description>
			<author><![CDATA[dummy@example.com (szmontak)]]></author>
			<pubDate>Fri, 06 Jul 2012 16:06:41 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=3657#p3657</guid>
		</item>
	</channel>
</rss>
