Re: What type is required to capture the RETURNING from anUpdate? - Mailing list pgsql-novice

From Tom Lane
Subject Re: What type is required to capture the RETURNING from anUpdate?
Date
Msg-id 5805.1316033383@sss.pgh.pa.us
Whole thread Raw
In response to What type is required to capture the RETURNING from anUpdate?  (rox <rox@tara-lu.com>)
List pgsql-novice
rox <rox@tara-lu.com> writes:
> Within 8.4, If I have an update like the following :
>    EXECUTE $c$
>     UPDATE field_seasons dr
>         SET season_id = ds.season_id, field_id = ds.field_id
>     FROM data_set ds
>     WHERE ds.data_set_id = dr.data_set_id
>     AND ds.season_id = _season_id
>     RETURNING field_seasons_id
>     $c$
>    INTO _id_array;

> in a pgsql FUNCTION... What is the type on the variable that can accept
> the list of id's?

There is none, because it isn't a list it's a row set.

Personally I'd try something like

    FOR id IN UPDATE ... RETURNING field_seasons_id
    LOOP
        ... do something with id ...
    END LOOP

(see "Looping Through Query Results" in the plpgsql manual).
AFAICS there's no need to use EXECUTE here.

            regards, tom lane

pgsql-novice by date:

Previous
From: rox
Date:
Subject: What type is required to capture the RETURNING from anUpdate?
Next
From: poultee
Date:
Subject: Re: Unable to start postgres service (8.4)