Skip site navigation (1) Skip section navigation (2)

Re: como lograr campo consecutivo sin fallar ?

From: Roberto Rodríguez Pino <rodpin(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: como lograr campo consecutivo sin fallar ?
Date: 2008-07-17 16:46:46
Message-ID: d865cadf0807170946n452d30c9wa92f0a229fa8a969@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
2008/7/17 Robert J. Briones C. <robert(dot)briones(at)gmail(dot)com>:
> El día 16 de julio de 2008 23:24, Carlos Mendez <lucas1850(at)gmail(dot)com> escribió:
>> Hola, que tal
>>
>> como puedo lograr que un campo de una tabla aparezcan numeros consecutivos
>> sin fallar, 1, 2, 3, 4, 5, etc. con serial a veces falla porque a veces hay
>> errores y se salta del 2 al 4 y el 3  se pierde, yo creo que una forma seria
>> calcular el max de este campo y sumarle +1 y asi sucesivamente, lo pregunto
>> porque tengo que hacer un programa de facturacion y no debe perder ni un
>> solo consecutivo no debe haber saltos o perdidas de numeros,
>> Agradeciendo de antemano cualquier ayuda o sugerencia,
>> me despido,
>> saludos.
>>
>
> Muchas veces se pierden los numeros por una cosa de eliminacion de datos.
> la forma que dices tu . es la que mayormente se ocupa, pero una vez
> creado el 1, 2, 3, 4, 5 y eliminas el tres, te quedará como, 1,2,4,5 y
> el próximo que se agregará será el 6, en el caso de un sistema de
> facturacion, las facturas no se eliminas, solo se anulan, así el 3 en
> este caso . seguira ahí, pero como anulado.
>
> yo nunca he tenido problemas de que se salte un numero.
> revisa el script que ocupas.
>

Yo tengo un problema similar. Se salta el correlativo en caso de que
haya habido un fallo en la inserción.
Yo estoy ocupando jdbc. Necesitaba hacer 2 inserciones, donde la
segunda dependia de la primera... pero si habia algun problema en la
segunda, la primera no debia llevarse a cabo. Para lo cual aplicaba un
rollback.
Pero asi y todo se seguian "quemando"  los identificadores de la
secuencia. Despues revise la cantidad de numeros disponbles y era una
suma considerable, asi que no le di mucha importancia (en mi problema,
me indiferente que se salte de un 3 a un 6)... pero igual me quedo la
duda de como se podria solucionar esto.
¿Se puede de alguna manera?
Saludos!
Roberto


-- 
visita mi weblog!
http://trasto.hopto.org
Softwarelibre(at)diinf
http://softwarelibre.diinf.usach.cl

In response to

Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2008-07-17 17:33:41
Subject: Re: como lograr campo consecutivo sin fallar ?
Previous:From: Alvaro HerreraDate: 2008-07-17 16:15:28
Subject: Re: Crear un evento cada vez que se hace unaUPDATE

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group