Skip site navigation (1) Skip section navigation (2)

Re: plpgsql : adding record variable to table

From: thomas veymont <thomas(dot)veymont(at)gmail(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: plpgsql : adding record variable to table
Date: 2012-04-19 09:43:05
Message-ID: CAHcTkqqFs063c+PJas3E0goX5X5vQ0foc+ATOz17cmRGoS5U8A@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-sql
hi Pavel,

thanks for your answer,

I don't understand exactly how "y" should be declared, and how it
should be returned by the function (as a table,
as a "set of record", or maybe as some kind of generic object, I don't
know exactly what's possible with pl/psql.).

cheers
Tom

2012/4/18 Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>:
> 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

pgsql-sql by date

Next:From: Pavel StehuleDate: 2012-04-19 10:08:18
Subject: Re: plpgsql : adding record variable to table
Previous:From: Pavel StehuleDate: 2012-04-18 18:03:21
Subject: Re: plpgsql : adding record variable to table

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group