Hola y Auxilio

Dave david@morgana.estadistica.unam.mx
Fri, 11 Sep 1998 17:50:19 -0500 (CDT)


On Fri, 11 Sep 1998, Alejandro Pelaez Goycochea wrote:

> On Fri, 11 Sep 1998, Diego Cueva wrote:
> 
> > Hola a todos:
> > 
> > Necesito que me ayuden con lo siguiente. 
> > Como creo una tabla en la cual se tenga un campo que se un contador 
> > autoincrementable. Esto en acces y Sybase es muy facil pero el
> > PostgreSQL no se como hacerlo
> 
> La solucion que yo di a eso es que en cada insercion, en el campo del
> contador (que supongo que usas como llave), inserto el valor
> max(tabla.campo)+1.
> 
> 
> --------------------------------
> Biol. Alejandro Pelaez Goycochea
> 

Yo les recomiendo que mejor utilicen las "sequences"...

Una secuencia es mas segura para producir campos autoincrementales y no se
chupa nada del CPU, como sucede con el  max(tabla.campo)+1, pues cuando se
tiene una tabla muy grande, el procesador puede tardar mucho en encontrar
el valor maximo de un campo especifico.

Se puede utilizar algo asi como:


	create table t1 ( f1 int, f2 int);
       
        create sequence nombre_secuencia;

 ... y durante la insercion:

       insert into t1 values ( nextval('nombre_secuencia'),2000);

y listo...

Checate la documentacion de como manipular una sequence...



David Martinez Cuevas	   
     Office 622-60-80      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
     Home 565-25-17          "Eat Linux, Drink Linux...  SMOKE LINUX "
                           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@   


--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : cancelacion pgsql-ayuda