You don't have to mess with sequences. If there are two fields ID and year then the next number is: next_number := ( select ID from table_name where year = year_from_current_date order by ID desc limit 1 ) + 1; Regards, Clodoaldo --- Bruno Baguette <pgsql-ml@baguette.net> escreveu: > Hello, > > I have to design a table wich will store some action reports. Each > report have an ID like this 1/2004, 2/2004, ... and each years, they > restart to 1 (1/2004, 1/2005, 1/2006,...). > > So, I was thinking to split that in two fields : one with the increment > and one with the year. But I don't know how can I manage the sequences > since I have to restart to 0 each year... > > Do you think I should re-invent the sequences mecanism with a second > table and a stored procedure, only to manage theses 'home-made' sequences ? > > Or should I create some sequences like myseq_2004, myseq_2004, > my_seq_2005,... and use a concatenation of the myseq_ string and the > current year when calling nextval and curvall ? > > Or is there another way to do that ? > > Thanks in advance :-) > > -- > Bruno Baguette - pgsql-ml@baguette.net > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly ______________________________________________________________________ Yahoo! Messenger - Fale com seus amigos online. Instale agora! http://br.download.yahoo.com/messenger/ ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match