is it possible to do an update with a nested select that references the outer update ?

From: Jonathan Vanasco <postgres(at)2xlp(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: is it possible to do an update with a nested select that references the outer update ?
Date: 2009-10-06 16:57:58
Message-ID: 1DDC8F20-7318-4188-86E9-8221FE2502AA@2xlp.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

A typo in a webapp left ~150 records damaged overnight

I was hoping to automate this, but may just use regex to make update
statements for this

basically , i have this situation:

table a ( main record )
id , id_field , fullname

table b ( extended profiles )
id_field , last_name , first_name, middle_name , age , etc

id_field on table a was left null due to a typo with the orm

i've tried many variations to automate it, none seem to work

i think this attempt most clearly expresses what I was trying to do

UPDATE table_a a set id_field = ( SELECT id_field FROM table_b b
WHERE a.first_name || ' ' || b.last_name = a.fullname ) WHERE id_field
IS NULL ;

I'd be greatful if anyone has a pointer

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alvaro Herrera 2009-10-06 17:21:36 Re: attempted to lock invisible tuple - PG 8.4.1
Previous Message Alvaro Herrera 2009-10-06 16:46:43 Re: attempted to lock invisible tuple - PG 8.4.1