Re: updating a sequence
От | Scott Marlowe |
---|---|
Тема | Re: updating a sequence |
Дата | |
Msg-id | CAOR=d=3fahvFCn80mQLwK4Pnru7u1DiV5ZTD3oyxe7S+sSpXjA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: updating a sequence (Samuel Gendler <sgendler@ideasculptor.com>) |
Ответы |
Re: updating a sequence
Re: updating a sequence |
Список | pgsql-sql |
On Tue, Nov 15, 2011 at 5:33 PM, Samuel Gendler <sgendler@ideasculptor.com> wrote: > On Tue, Nov 15, 2011 at 4:28 PM, John Fabiani <johnf@jfcomputer.com> wrote: >> >> On Tuesday, November 15, 2011 08:33:54 am Richard Broersma wrote: >> > On Tue, Nov 15, 2011 at 8:06 AM, John Fabiani <johnf@jfcomputer.com> >> > wrote: >> > > alter sequence somename restart with (select max(pk) from sometable). >> > > >> > > I need this for automating an ETL (using pentaho). >> > >> > >> > http://www.postgresql.org/docs/9.1/interactive/functions-sequence.html#FUNC >> > TIONS-SEQUENCE-TABLE >> >> >> I don't see how that helps answer my problem. I know how to update a >> sequence. I want to pass a value for the restart vaue that depends on a >> query >> - all in one statement. I would think it is a common problem i.e. >> migrating >> data. >> > > use a subquery to set the value - > select setval('foo', select max(some_id) from some_table) > It's all right there in the docs that you were pointed to. We try to > encourage people to be somewhat self sufficient around here. You need to wrap a subselect in (): select setval('foo', (select max(some_id) from some_table)); That works in 9.1.1. No clue about previous versions off the top of my head, but I seem to recall it doesn't work in 8.3 and prior versions.
В списке pgsql-sql по дате отправления: