Re: looping through query to update column - Mailing list pgsql-general

From Merlin Moncure
Subject Re: looping through query to update column
Date
Msg-id b42b73150610130657r5742b14fs2c861ff471ecc6d2@mail.gmail.com
Whole thread Raw
In response to Re: looping through query to update column  (Jean-Christophe Roux <jcxxr@yahoo.com>)
List pgsql-general
On 10/13/06, Jean-Christophe Roux <jcxxr@yahoo.com> wrote:
>
> Thanks for the "ctid" trick. The code below worked fine
>     for rec in select * from fromemail_trades loop
>         update fromemail_trades set recordid = row where ctid = rec.ctid;
>         row := row -1;
>     end loop;
> The first line is a little different from your's:
>     FOR row IN SELECT ctid, * FROM table FOR UPDATE LOOP
>
> How important is it to specify ctid in the select and to add 'for update'?

it's not. also, without a where clause you are better off just locking
the table (lock table...).  also, the above loop is better achieved
via a single query.

merlin

pgsql-general by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Postgresql 6.13
Next
From: Andrew - Supernews
Date:
Subject: Re: looping through query to update column