From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | thomas veymont <thomas(dot)veymont(at)gmail(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: plpgsql : adding record variable to table |
Date: | 2012-04-18 18:03:21 |
Message-ID: | CAFj8pRBGMOia4L9-GxHYMnwRBEJBzT=xvUVdnRnmh8XXq-2SVg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hello
please try:
postgres=# create or replace function foo()
returns void as $$
declare r x;
begin
for r in select * from x
loop
insert into y values(r.*);
end loop;
end;
$$ language plpgsql;
Regards
Pavel
2012/4/18 thomas veymont <thomas(dot)veymont(at)gmail(dot)com>:
> (sorry my previous email was truncated)
>
> hi,
>
> Here is what I want to do :
>
> I want to check each row of a table against some conditions (this
> check needs some
> processing stuff I can easily code with pl/pgsql).
>
> If the row is OK, I want to add it in a "resulting table",
> else I just ignore the current row and go to next one.
>
> My function looks like this : (simplified)
>
> FUNCTION myfunction (...) RETURNS TABLE ( elem1 , elem2, elem3 ...)
> DECLARE
> g RECORD
> BEGIN
> FOR g in SELECT colum1, column2, ... FROM someTable
> LOOP
> -- do some processing on "g", then decide wheter I want to
> select it or not
> IF (g is selected) THEN >>add g to resulting_table<<
> END LOOP
> RETURN resulting_table
>
> How should I write the "add g to resulting table" part ?
>
> thanks,
> Tom
>
> --
> Sent via pgsql-sql mailing list (pgsql-sql(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql
From | Date | Subject | |
---|---|---|---|
Next Message | thomas veymont | 2012-04-19 09:43:05 | Re: plpgsql : adding record variable to table |
Previous Message | thomas veymont | 2012-04-18 17:55:55 | plpgsql : adding record variable to table |