From: | Jaime Casanova <systemguards(at)gmail(dot)com> |
---|---|
To: | Roberto Andrade Fonseca <randrade(at)inteligentes(dot)com(dot)mx> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Folio de facturas |
Date: | 2005-05-20 06:15:43 |
Message-ID: | c2d9e70e0505192315708e25ef@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 5/19/05, Roberto Andrade Fonseca <randrade(at)inteligentes(dot)com(dot)mx> wrote:
> Hola:
>
> Ya se mencionó que para definir el identificador de un documento fiscal (una
> factura en este caso), el uso de un campo de tipo SERIAL NO es lo más adecuado,
> simplemente porque pgsql nos asegura el tener uba secuencia única de enteros,
> pero que no son contiguos necesariamente.
>
> ¿Podría alguien explicarme una buena estrategia para lograr con los medios de
> pgsql (SQL, SERIAL, pl/pgSQL) un buen generador de esos identificadores de
> facturas?
>
> Ejemplo:
>
> CE-0000001
> CE-0000002
> CE-0000003
> CE-0000004
> CE-0000005
>
> La idea es que el sistema pueda regenerar esa secuencia de una manera ágil y que
> los huecos puedan llenarse.
>
> ¿Es necesario bloquear alguna tabla? ¿Que costo tiene esto?
>
Lo que yo hago es crear una tabla de secuencias y cuando voy a
consumir una secuencia hago un lock table de esa tabla como no se
libera hasta el commit si alguien mas quiere consumir una secuencia
tendra que esperar.
Quiza no sea perfecto pero me asegura continuidad en la secuencia y
que no hayan huecos.
--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)
From | Date | Subject | |
---|---|---|---|
Next Message | Leo Gamez CCD Desarrollo | 2005-05-20 07:20:50 | RE: ClassNotFoundException: org.postgresql.Driver |
Previous Message | David Prieto | 2005-05-20 06:08:48 | RE: Solucion a Conexiones desde destinos desconocidos. |