Re: What type is required to capture the RETURNING from anUpdate?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: What type is required to capture the RETURNING from anUpdate?
Дата
Msg-id 5805.1316033383@sss.pgh.pa.us
обсуждение исходный текст
Ответ на What type is required to capture the RETURNING from anUpdate?  (rox <rox@tara-lu.com>)
Список 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 по дате отправления:

Предыдущее
От: rox
Дата:
Сообщение: What type is required to capture the RETURNING from anUpdate?
Следующее
От: poultee
Дата:
Сообщение: Re: Unable to start postgres service (8.4)