Skip site navigation (1) Skip section navigation (2)

Re: Serial / Secuencia

From: Juan Martínez <jeugenio(at)umcervantes(dot)cl>
To: MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe>
Cc: 'Alvaro Herrera' <alvherre(at)commandprompt(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Serial / Secuencia
Date: 2007-10-25 13:52:22
Message-ID: 47209F96.8010406@umcervantes.cl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
MIGUEL CANCHAS escribió:
 > Alvaro Herrera escribio:
>> MIGUEL CANCHAS escribió:
>>> 
>>> Entonces tengo que crear UNA SECUENCIA DISTINTA por cada tabla que deseo
>>> que use un valor secuencial ???
>> 
>> No necesariamente, pero eso es lo que generalmente se hace.
 >
> No necesariamente ? entonces de que otra manera se puede lograr lo mismo ?
> si bien en mis tablas necesito un numero para poder realizar las relaciones
> con otras tablas .

A ver...

=> create table a (a1 serial);
NOTICE:  CREATE TABLE creara una secuencia implicita 'a_a1_seq' para la 
columna serial 'a.a1'
CREATE TABLE

=> \d a
                         Tabla «pg_temp_1.a»
  Columna |  Tipo   |                 Modificadores
---------+---------+------------------------------------------------
  a1      | integer | not null default nextval('a_a1_seq'::regclass)

Entonces la secuencia se llama 'a_a1_seq'. Luego creamos otra tabla que 
use la misma secuencia:

=> create table b (b1 integer not null default nextval('a_a1_seq'));
CREATE TABLE

y listo!

-- 
Juan Martinez G.                   Mac Iver # 370
Departamento de Informatica        4997900 - 4997934
Universidad Miguel de Cervantes    Santiago - Chile
http://download.bblug.usla.org.ar/netiquette.png

In response to

Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2007-10-25 13:53:54
Subject: Re: initdb no inicia la base de datos
Previous:From: Alvaro HerreraDate: 2007-10-25 13:48:49
Subject: Re: Serial / Secuencia

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group