Re: plpgsql : adding record variable to table

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

In response to

Responses

Browse pgsql-sql by date

  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