Temat: Zwrot typu danych real z funkcji
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 ![]()
Ostatnio edytowany przez szmontak (2012-07-06 19:33:01)