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

Re: Update with function

From: Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)gmail(dot)com>
Cc: egbert(dot)bouwman(at)xs4all(dot)nl, psycopg(at)postgresql(dot)org
Subject: Re: Update with function
Date: 2012-03-30 16:07:50
Message-ID: CA+mi_8a=yR7wC-mvronn+NUO3FGn=xa0e-b+u0ZBUQDHAyb5yA@mail.gmail.com (view raw or flat)
Thread:
Lists: psycopg
On Fri, Mar 30, 2012 at 5:05 PM, Adrian Klaver <adrian(dot)klaver(at)gmail(dot)com> wrote:
> On 03/30/2012 09:02 AM, egbert wrote:
>>
>> On Fri, 2012-03-30 at 06:45 -0700, Adrian Klaver wrote:
>>
>>> A simple solution that demonstrates one way to do the above:
>>>
>>>
>>> cur.execute("select recno from some_table")
>>>
>>> for row in cur:
>>>        recno = cur[0]
>>>        cur.execute("update books set inyear=%s", (makeyear(recno),))
>>>
>> Thanks for your suggestion, Adrian.
>> Actually, that was something I tried first.
>> But my some_table is about 165000 records, and it took nearly three
>> hours (on my not so young system) to run the individual updates.
>> So I looked for a one-pass solution.
>
>
> Another option is write function in Postgres that does what you want and
> call that function.

Which could also be implemented in Python, via pl/python.

-- Daniele

In response to

Responses

psycopg by date

Next:From: egbertDate: 2012-03-30 17:12:38
Subject: Re: Update with function
Previous:From: Adrian KlaverDate: 2012-03-30 16:05:04
Subject: Re: Update with function

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