Обсуждение: Re: Migration problem - serial fields
> The snag I'm encountering is with Identity fields in SQL7. I > discovered the equivalent in PG -- sequences/serial field. I would > like to use serial if possible, but here's the problem: getting the > existing records over while *keeping the existing values* for the > Identity/sequence ID fields. They actually transfer over fine, but > the next insert into the PG table generates a duplicate ID error. > Obviously my transfer did not update the sequence used by the serial > field -- it's still stuck at 1. However, I'm just not sure of the > best course of action. > SELECT setval('your_seq_name', 654); -- set higher than highest record.
On Mon, 04 Mar 2002 19:57:50 -0500, Lee Harr wrote: > SELECT setval('your_seq_name', 654); -- set higher than highest record. Even better: SELECT setval('your_seq_name',max(your_seq_col)) from your_table; You can get away with max, rather than max+1, because the next call to the sequence will generate max() plus the interval (usually 1). -- Jeff Boes vox 616.226.9550 Database Engineer fax 616.349.9076 Nexcerpt, Inc. jboes@nexcerpt.com