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