Sumowanie wartości w pętli FOR

0

witam, mam problem z taką funkcją:

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??

0

oto rozwiązanie:

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1