am  Mon, dem 30.06.2008, um 12:38:40 +0200 mailte A B folgendes:
> Then my assumption was wrong.
> Here is the entire function and it fails with the names
> c2,c2div,c3,c3div, but if names are changed, it works!
> (by works I mean I get the "hello" lines printed) There is nothing
> wrong with the select statement either, that works fine if I run it
> stand-alone, or with the names of c2,c2div,c3,c3div changed.
> 
> CREATE OR REPLACE FUNCTION foo(pid_ INTEGER) RETURNS void AS $$
> DECLARE
>       c2 REAL;
>       c2div REAL;
>       c3 REAL;
>       c3div REAL;
>       weights RECORD;
>       tmp RECORD;
>       retval RECORD;
>       t RECORD;
> BEGIN
> RAISE NOTICE 'starting...';
>       FOR tmp IN SELECT id,c2,c3 FROM Master  WHERE pid=pid_  AND c3 !=0 LOOP
>               RAISE NOTICE 'hello %',tmp.id;
>       END LOOP;
>       RETURN;
> END; $$  LANGUAGE plpgsql;

Don't use the same names for plpgsql-variables and for column names.


Andreas
-- 
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID:   0x3FFF606C, privat 0x7F4584DA   http://wwwkeys.de.pgp.net

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to