Sumowanie wartości w pętli FOR

Sumowanie wartości w pętli FOR
P8
  • Rejestracja: dni
  • Ostatnio: dni
0

witam, mam problem z taką funkcją:

Kopiuj
create or replace function testing(text) returns void as
$BODY$ 
declare
i record;
trader alias for $1;
suma_net_pl numeric(8,2); 
begin
for i in select * from baza where trader_id like trader
LOOP
suma_net_pl := suma_net_pl + sum(i.net_pl); <---------
end LOOP; 
RAISE NOTICE 'suma is %', suma_net_pl;
end;
$BODY$
language 'plpgsql';

jak sprawić aby zsumowało wszystkie wartości w kolumnie net_pl??

P8
  • Rejestracja: dni
  • Ostatnio: dni
0

oto rozwiązanie:

Kopiuj
CREATE OR REPLACE FUNCTION testing(text) returns void AS
$BODY$ 
DECLARE
i RECORD;
trader alias FOR $1;
suma_net_pl numeric(8,2); 
BEGIN
suma_net_pl := 0;   <-----
FOR i IN SELECT * FROM baza WHERE trader_id LIKE trader
LOOP
suma_net_pl := suma_net_pl + i.net_pl;   <-----
END LOOP; 
RAISE NOTICE 'suma is %', suma_net_pl;
END;
$BODY$
language 'plpgsql';

obie odpowiedzi były pomocne, dzięki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.