Hi-
There's got to be a simple way to do this, but it's eluding me so far...
I have a table that is already populated with about 600,000 rows.
I have created a new unique id field for it. (alter table test add new_pk
int8 not null;)
I have also createtd a sequence (create sequence test_new_pk)
Now I want to populate the key for all of the existing records.
I tried:
update test set new_pk = (select nextval('test_new_pk_seq'));
but it wants to update *all* of the rows to the current nextval (I was
hoping it would evaluate nextval on each row).
How do I write an update to assign a sequential id for the existing records?
Any ideas appreciated!
-Nick
--------------------------------------------------------------------------
Nick Fankhauser nickf@ontko.com Phone 1.765.935.4283 Fax 1.765.962.9788
Ray Ontko & Co. Software Consulting Services http://www.ontko.com/