From: | Bill Moran <wmoran(at)potentialtech(dot)com> |
---|---|
To: | Clodoaldo Pinto Neto <clodoaldo_pinto(at)yahoo(dot)com(dot)br> |
Cc: | Bruno Baguette <pgsql-ml(at)baguette(dot)net>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Restart increment to 0 each year = re-invent the sequences |
Date: | 2004-04-26 13:05:52 |
Message-ID: | 408D0930.9020104@potentialtech.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Clodoaldo Pinto Neto wrote:
> 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;
This could cause ID collision. If two seperate processes call this statement at
the same time, they will get the same number, and when they try to insert their
record, there will be a collision. One of the processes will error out.
Sequences exist to avoid this problem. A sequence _is_ the proper way to do this.
>
> Regards,
> Clodoaldo
>
> --- Bruno Baguette <pgsql-ml(at)baguette(dot)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 :-)
--
Bill Moran
Potential Technologies
http://www.potentialtech.com
From | Date | Subject | |
---|---|---|---|
Next Message | btober | 2004-04-26 13:19:55 | Re: Restart increment to each year = re-invent the |
Previous Message | Clodoaldo Pinto Neto | 2004-04-26 13:00:41 | Re: Restart increment to 0 each year = re-invent the sequences mecanism ? |