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
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 |