Hello,

once more, i ran into a problem....
i got no syntax error, i don't know how to debug, except for raising
exceptions....  the loop never executes....  making the select call by hand
with fixed values, returns a result...  but the second raise is never passed
with the function...so something seems wrong....

 
CREATE FUNCTION accSum(text,text) RETURNS int4 AS '
  DECLARE
  col ALIAS FOR $1;
  sumup ALIAS FOR $2;
  actsum journal.amount%TYPE;
  arow journal%ROWTYPE;
  conversion float4;
  temp float4;
  sum int4;
  BEGIN
  sum := 0;
  RAISE NOTICE ''stats %=% '', col,sumup;
  FOR arow IN SELECT currency,amount FROM journal WHERE col=sumup LOOP
     RAISE NOTICE ''% current line: %'', arow.id,arow.amount;
     SELECT conv FROM currencies WHERE tag=arow.currency INTO conversion;
     temp := conversion*arow.amount+0.5;
     sum := sum + temp;
     END LOOP;
     return sum; 
  END;    
          ' LANGUAGE 'plpgsql';

as sayd :
fibu=>  select accSum('plus','102');
NOTICE:  stats plus=102 
 accsum 
--------
      0
(1 row)

fibu=> SELECT currency,amount FROM journal WHERE plus=102;
 currency | amount 
----------+--------
 EUR      | 100000
 EUR      | 100000
 EUR      | 100000
 EUR      | 100000
 EUR      | 100000
(5 rows)

surely some stupid error somewhere.....

-- 
ciao bboett
==============================================================
[EMAIL PROTECTED]
http://inforezo.u-strasbg.fr/~bboett http://erm1.u-strasbg.fr/~bboett
===============================================================
the total amount of intelligence on earth is constant.
human population is growing....

Reply via email to