Friday, June 20, 2008

Re: [GENERAL] Need to update all entries of one table based on an earlier backup

Hi!
 
You're missing a table declaration for the table foo_old. You might try this:
 
update foo set foo.foo_name2= (SELECT foo_old.foo_name2 FROM foo_old where foo.foo_id = foo_old.foo_id);
 
Kind regards
 
  Markus


Von: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] Im Auftrag von Gregory Williamson
Gesendet: Freitag, 20. Juni 2008 12:30
An: pgsql-general@postgresql.org
Betreff: [GENERAL] Need to update all entries of one table based on an earlier backup

For reasons best left unmentioned, I need to update entries in a table from a backup; I need to do all entries.

For reasons eluding my sleep deprived eyes this fails in every variation I can think of:

update foo set foo.foo_name2=foo_old.foo_name2 where foo.foo_id = foo_old.foo_id;
ERROR:  missing FROM-clause entry for table "foo_old"

Could someone please hit me with a clue-stick ? This is crucial and yet I am stumbling over something. Since I am not updating foo_old I am baffled as to what this messsage really means. I've tried "where foo_old.foo_id = foo.foo_id ... same message.

TIA,

Greg Williamson
Senior DBA
DigitalGlobe

Confidentiality Notice: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information and must be protected in accordance with those provisions. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.

(My corporate masters made me say this.)

No comments: