Como hacer un contador

Bruno Unna bruno@iac.com.mx
Tue, 06 Oct 1998 18:28:56 -0500


Montse wrote:
> 
> Hola a todos
> 
>         Tengo un duda respecto a las tablas de postgres. Necesito controlar los
> registros de cada tabla y para ello he creado tablas independientes que
> hacen de contadores. Mi problema es el siguiente:
> 
> Como hago para seleccionar el último registro de la tabla contadores,
> incrementarlo en una unidad y volver a almacenar el nuevo valor. Puedo
> conseguir que la tabla contadores tenga siempre un solo registro para
> que este proceso resulte mas sencillo.
> 
> Muchas gracias
> 
> Montse
> mailto:mons@ictnet.es
> --------- 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

Montse, la solución que estás usando no es la mejor. Borra tus 
tablas-contadores, sugiero, y crea 'secuencias':

create sequence nombre_de_la_secuencia;

es la sintaxis más simple.

Ahora, haz un experimento:

select nextval('nombre_de_la_secuencia');

Repite esta última línea varias veces; verás que siempre te 
entrega el valor siguiente. Ahora, si quieres usar una secuencia 
en tus tablas, puedes hacer algo como:

insert into tablita(campo_llave, otro_campo) 
values (nextval('nombre_de_la_secuencia'), 'Otro valor');

Más fácil, ¿verdad?
-- 
"Create like a god,                Bruno Unna <bruno@iac.com.mx>
 command like a king,                     Desarrollo de Software
 and work like a slave."                Internet de Alta Calidad
             Kawasaki                   PGP public key available
--------- 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