Re: How to generate unique invoice numbers foreach day - Mailing list pgsql-general

From Jorge Godoy
Subject Re: How to generate unique invoice numbers foreach day
Date
Msg-id AANLkTi=zSYqgqjLuBQU3Truf-eipvdTe2gv04fuQYfkA@mail.gmail.com
Whole thread Raw
In response to Re: How to generate unique invoice numbers foreach day  ("Andrus Moor" <kobruleht2@hot.ee>)
Responses Re: How to generate unique invoice numbers foreach day  (Tomas Vondra <tv@fuzzy.cz>)
Re: How to generate unique invoice numbers foreach day  ("Andrus Moor" <kobruleht2@hot.ee>)
List pgsql-general
Why would you do that?

You can always reset the sequence at the end of the day.

--
Jorge Godoy     <jgodoy@gmail.com>


On Sat, Jan 15, 2011 at 17:09, Andrus Moor <kobruleht2@hot.ee> wrote:
There are 365 days in year.
Do you really think pre-creating sequence for every day for every year is best solution ?
 
Andrus.
----- Original Message -----
Sent: Saturday, January 15, 2011 8:41 PM
Subject: ***SPAM*** Re: [GENERAL] How to generate unique invoice numbers foreach day

Use a sequence.

--
Jorge Godoy     <jgodoy@gmail.com>


2011/1/15 Andrus Moor <kobruleht2@hot.ee>
Invoice numbers have format  yymmddn

where n is sequence number in day staring at 1 for every day.

command

SELECT COALESCE(MAX(nullif(substring( substring(tasudok from 7), '^[0-9]*'),'')::int),0)+1
FROM invoice
where date= ?invoicedate

is used to get next free invoice number if new invoice is saved.

If multiple invoices are saved concurrently from different processes, they will probably get same number.

How to get unique invoice number for some day in 8.1+ when multiple users create new invoices ?

Andrus.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


pgsql-general by date:

Previous
From: Matthew Wilson
Date:
Subject: Need help writing exclusion constraint
Next
From: Tomas Vondra
Date:
Subject: Re: How to generate unique invoice numbers foreach day