Re: Normalising an existing table - how? - Mailing list pgsql-sql

From Phil Endecott
Subject Re: Normalising an existing table - how?
Date
Msg-id 7184150@chezphil.org
Whole thread Raw
In response to Normalising an existing table - how?  (Graham Leggett <minfrin@sharp.fm>)
Responses Re: Normalising an existing table - how?
List pgsql-sql
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.



pgsql-sql by date:

Previous
From: Georgos Siganos
Date:
Subject: Question about a CIDR based query
Next
From: Frank Bax
Date:
Subject: Re: Normalising an existing table - how?