Re: [Pgsql-ayuda] Contrains

From: Gunnar Wolf <gwolf(at)campus(dot)iztacala(dot)unam(dot)mx>
To: Jose Antonio Leo <jaleo8(at)storelandia(dot)com>
Cc: Pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] Contrains
Date: 2002-06-25 18:19:00
Message-ID: Pine.BSO.4.44.0206251315180.28868-100000@campus.iztacala.unam.mx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> 2.- Como puedo crear un campo decimal que se incremente automaticamente.?

(ampliando)

Me ganó la curiosidad...

Cuando creas una tabla que contiene un campo 'serial', una secuencia es
creada automáticamente:

# CREATE TEMP TABLE "incrementa" ("valor" serial);
NOTICE: CREATE TABLE will create implicit sequence 'incrementa_valor_seq' for SERIAL column 'incrementa.valor'
NOTICE: CREATE TABLE / UNIQUE will create implicit index 'incrementa_valor_key' for table 'incrementa'
CREATE

Si le preguntamos a Postgres (desde psql) cuál es la estructura de la
secuencia:

# select * from incrementa_valor_seq;
sequence_name | last_value | increment_by | max_value | min_value | cache_value | log_cnt | is_cycled | is_called
----------------------+------------+--------------+---------------------+-----------+-------------+---------+-----------+-----------
incrementa_valor_seq | 1 | 1 | 9223372036854775807 | 1 | 1 | 1 | f | f
(1 row)

Ahora, en este caso, estamos hablando de enteros... Pero con esto tienes
suficiente para reimplementarlo con un simple (bueno, tal vez un
no-tan-simple ;-) ) trigger.

--
Gunnar Wolf - gwolf(at)campus(dot)iztacala(dot)unam(dot)mx - (+52-55)5623-1118
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ariel Nardelli 2002-06-25 22:43:15 [Pgsql-ayuda] Contar registros segun un campo....
Previous Message Gunnar Wolf 2002-06-25 18:14:24 Re: [Pgsql-ayuda] Contrains