sequence not restarting in a for loop (actually semi-random numbers)

Поиск
Список
Период
Сортировка
От Ivan Sergio Borgonovo
Тема sequence not restarting in a for loop (actually semi-random numbers)
Дата
Msg-id 20081112170119.7721a615@dawn.webthatworks.it
обсуждение исходный текст
Ответы Re: sequence not restarting in a for loop (actually semi-random numbers)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
I've a function that does something like:

create temp sequence tmp_seq;
for _row in (select id from mylist where Weight<_Weight)
loop
  alter sequence tmp_seq restart with 1;
-- perform setval('tmp_seq',1,false);
  insert into mytop (id,n) select id, nextval('tmp_seq')
    from biglist join mylist on biglist.id=mylist
    order by biglist.something limit 3;
end loop;
drop sequence tmp_seq;

I'd expect something like

1,1
1,2
1,3
127,1
127,2
127,3

but I get something like

1,5
1,6
1,7
127,55
127,56
127,57
152,6
152,7
152,8

what should I do to obtain the result I was expecting?


--
Ivan Sergio Borgonovo
http://www.webthatworks.it


В списке pgsql-general по дате отправления:

Предыдущее
От: Richard Huxton
Дата:
Сообщение: Re: Very slow queries w/ NOT IN preparation (seems like a bug, test case)
Следующее
От: paulo matadr
Дата:
Сообщение: MAX_CONNECTIONS ??