Re: How to generate unique invoice numbers foreach day

From: "Andrus Moor" <kobruleht2(at)hot(dot)ee>
To: "Jorge Godoy" <jgodoy(at)gmail(dot)com>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: How to generate unique invoice numbers foreach day
Date: 2011-01-15 19:09:06
Message-ID: 158067C23EF24233969A9D8B35E9BDB0@server
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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 -----
From: Jorge Godoy
To: Andrus Moor
Cc: pgsql-general(at)postgresql(dot)org
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(at)gmail(dot)com>

2011/1/15 Andrus Moor <kobruleht2(at)hot(dot)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(at)postgresql(dot)org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Matthew Wilson 2011-01-15 19:17:48 Need help writing exclusion constraint
Previous Message Jorge Godoy 2011-01-15 18:41:08 Re: How to generate unique invoice numbers for each day