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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general