Hi all, I have this piece of code DECLARE minv my_inv; r record; totale numeric(20,5); valore numeric(20,5); BEGIN [.........] totale := 0; for r in select * from tminv loop [.........] valore := r.prezzo*r.giacenza; totale := totale+valore; minv.totale = totale; return next minv; end loop; return; [......] So the first record has valore=98 and totale=0 for the first time of the loop, but my first result of totale is -298 instead of +98. Any suggestion? Thanks Regards Enrico -- One small feel for man, one giant ass for mankind (Dr. Gregory House) Enrico Pirozzi Web: http://www.enricopirozzi.info E-Mail: info@xxxxxxxxxxxxxxxxxx Skype: sscotty71 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster