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)