HELP: what's wrong with my PL/PSQL function??
| От | bboett@erm1.u-strasbg.fr (Bruno Boettcher) |
|---|---|
| Тема | HELP: what's wrong with my PL/PSQL function?? |
| Дата | |
| Msg-id | 20010518112136.A468@erm1.u-strasbg.fr обсуждение исходный текст |
| Список | pgsql-sql |
hello!
i have the following function:
CREATE FUNCTION plusSum(text,int4) RETURNS int4 AS ' DECLARE jrlname ALIAS FOR $1; sumup ALIAS FOR $2; actsum int4;
arowRECORD; conversion float8; temp float8; sum float8; BEGIN sum := 0; RAISE NOTICE ''stats % '', sumup; FOR arow IN
SELECT* FROM "jrlname" WHERE plus=sumup LOOP SELECT conv FROM currencies WHERE tag=arow.currency INTO conversion;
sum:= sum + (arow.amount/conversion); END LOOP; return round(sum); END; ' LANGUAGE 'plpgsql';select
plusSum('journal','102');
and i get an error:
ERROR: parser: parse error at or near "$1"
(BTW would be helpful if the thing could spit out also the line
number....)
isolated the prob to this line:
FOR arow IN SELECT * FROM "jrlname" WHERE plus=sumup LOOP
in fact it doesn't seem to like the fact that i use a dynamic table
name??
i remind vaguely that pl/psql had indeed this sort of problem... but
this was years ago.... is there any workaround? even using perl?
The whole prog is a bookkeeping program... and i want it now really able
to work with several sets of tables.... without duplicating also the
functions i wrote associated to the tables....
BTW is there a possibility to make further select calls out of plperl?
(an example making this would come in handy...)
i am using a postgres7.03 DB on a debian system...
--
ciao bboett
==============================================================
bboett@earthling.net
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....
В списке pgsql-sql по дате отправления: