pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Phil Endecott <spam_from_postgresql_sql@chezphil.org>
To: Graham Leggett <minfrin@sharp.fm>
To: pgsql-sql@postgresql.org
Subject: Re: Normalising an existing table - how?
Date: Thu, 24 Jun 2004 16:55:47 -0400
Message-ID: <7184150@chezphil.org> (raw)
In-Reply-To: <40DB229C.9040306@sharp.fm>
References: <40DB229C.9040306@sharp.fm>

Graham Leggett wrote:
> I have an existing table containing a column in it containing
> a money value. I would like to normalise this column into a
> separate table, as the money value is to be expanded to contain
> a tax value, etc.
> 
> I have been trying to find a SQL query that will do the
> following:
> 
> - Select the money column from the table
> - Populate the new normalised table with each row containing
>   the value from the original money column
> - Write the primary keys of the new rows in the normalised
>   table, back to a new column in the original table added for
>   this purpose.

Change the order.  Do the third step first:

alter table T add column X integer;
update T set X = nextval(somesequence);

Now do the first and second steps together:

select X, MoneyColumn from T into NewTable;

Is this the sort of thing you need?

--Phil.




view thread (9+ messages)  latest in thread

Message-ID: <7184150@chezphil.org>
Permalink:  ../7184150@chezphil.org/
Also on:    postgresql.org/message-id/7184150@chezphil.org

 · 

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-sql@postgresql.org
  Cc: spam_from_postgresql_sql@chezphil.org, minfrin@sharp.fm
  Subject: Re: Normalising an existing table - how?
  In-Reply-To: <7184150@chezphil.org>

* 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