Re: updating a sequence
От | John Fabiani |
---|---|
Тема | Re: updating a sequence |
Дата | |
Msg-id | 201111160719.21111.johnf@jfcomputer.com обсуждение исходный текст |
Ответ на | Re: updating a sequence (Scott Marlowe <scott.marlowe@gmail.com>) |
Список | pgsql-sql |
On Tuesday, November 15, 2011 07:46:19 pm Scott Marlowe wrote: > 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. Thanks that did work with the parens. I could not get to work earlier. Johnf
В списке pgsql-sql по дате отправления: