pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Paul Makepeace <postgresql.org@paulm.com>
To: PostgreSQL Docs <pgsql-docs@postgresql.org>
Subject: UPDATE FROM syntax
Date: Mon, 23 Feb 2004 12:11:05 +0000
Message-ID: <20040223121105.GO8784@mythix.realprogrammers.com> (raw)

Hi, is there any documentation for Pg's UPDATE FROM (apparently
non-standard) syntax? It is mentioned briefly in \h update and not at
all in http://www.postgresql.org/docs/7.3/static/dml-update.html
or http://www.postgresql.org/docs/7.3/static/queries-table-expressions.html
(directly).

[moving a bit OT for docs?]

I solved my own problem but was still curious since it's non-standard if
there's a "more standard" way of updating a table from another query.

    ALTER TABLE components ADD COLUMN default_body TEXT;

    UPDATE components SET default_body = bb.body
    FROM (SELECT b.body, cpb.component_id
            FROM componentspagesbodies cpb NATURAL JOIN bodies b
           WHERE cpb.page_id IS NULL) AS bb
    WHERE bb.component_id = components.component_id;

(Incidently, I tried UPDATE components c SET ... c.component_id but the
parser wasn't happy with it.)

Paul

(PS and now at least one working UPDATE FROM example is online ;-)

-- 
Paul Makepeace ................................  http://paulm.com/ecademy

"What is it i am yapping about? Three things: location, location,
 location."
   -- http://paulm.com/toys/surrealism/



view thread (2+ messages)  latest in thread

Message-ID: <20040223121105.GO8784@mythix.realprogrammers.com>
Permalink:  ../20040223121105.GO8784@mythix.realprogrammers.com/
Also on:    postgresql.org/message-id/20040223121105.GO8784@mythix.realprogrammers.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: postgresql.org@paulm.com
  Subject: Re: UPDATE FROM syntax
  In-Reply-To: <20040223121105.GO8784@mythix.realprogrammers.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox