2008/7/17 Robert J. Briones C. <[EMAIL PROTECTED]>: > El día 16 de julio de 2008 23:24, Carlos Mendez <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] http://softwarelibre.diinf.usach.cl -- TIP 4: No hagas 'kill -9' a postmaster
