> > You can set a sequence 'nextval' with the following statement : > > > > SELECT setval('XXX_YYY_seq',0); > > The statement above will not work (... at least, it will not work in > PostgreSQL 7.3.1 -- I don't know if the new version has changed this > behavior...but I doubt it). You have to use something like I use a statement like "SELECT setval('XXX_YYY_seq',0)" myself. It definitely works in 7.4(+). > CREATE OR REPLACE FUNCTION public.set_sequence(name, int4) > RETURNS int4 AS > ' > DECLARE > l_sequence_name ALIAS FOR $1; > l_last_value ALIAS FOR $2; > BEGIN > IF l_last_value = 0 THEN > PERFORM setval(l_sequence_name,1, False); > ELSE > PERFORM setval(l_sequence_name,l_last_value); > END IF; > RETURN 0; > END;' > LANGUAGE 'plpgsql' VOLATILE; > > > > > > XXX is the table name. > > YYY is the name of the field containing the 'serial' value. > > > > The next value inserted in the table will then have a (serial) value of > > '0' or '1', I am not entirely sure which (I think '1'). > > Alexander Priem. > > --Berend Tober ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org