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