From: | Juan Martínez <jeugenio(at)umcervantes(dot)cl> |
---|---|
To: | "francisco (dot)" <francisco(dot)cpp(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: secuencias |
Date: | 2006-09-20 19:15:59 |
Message-ID: | 4511936F.4040708@umcervantes.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
francisco . escribió:
> Hola, Tengo La Sgte. duda:
> Cree una relacion tabla_a con un atributo id como llave primaria que es
> de tipo bigserial por lo que me creo la secuencia usuario_id_seq
ya...
> la cual
> funcionaba muy bien hasta que hice una insercion asignandole yo el valor al
> atributo id
Entonces no se ejecuta el DEFAULT de la columna id...
> el ultimo valor ingresado en el atributo fue el 7 y el valor
> que ingrese yo fue el 8
y cual era la idea de hacer eso?
> al crear una nueva tupla me arrojo un error de
> llave duplicada,
Obvio...
> al hacer un select a la secuencia tenia como ultimo valor
> el 7
Obvio...
> o sea que no se actualizo a 8
por que tendria que actualizarse si no la ocupaste?
> tuve que hacer un alter sequence para
> actualizarla
Claro...
> ¿existe alguna forma de que la secuencia se actualize al
> ultimo valor si le asigno yo el valor a id?
Piensa que utilidad podria tener eso, ya que si un campo es de tipo
serial (que en realidad el tipo SERIAL no existe, sino que es una
extension de postgres) si no lo vas a ocupar como tal? Es como si creas
un campo de tipo date para guardar marcas de tiempo y horas derechamente ...
De todas formas se podria hacer mezclando trigger con un funcion que
genere un nextval sobre tu secuencia cuando la tabla X reciba un INSERT
con un ID=null...
Aun asi, no le veo mucho sentido...
--
Juan Martinez G.
Departamento de Informatica
Universidad Miguel de Cervantes
From | Date | Subject | |
---|---|---|---|
Next Message | deepthroat | 2006-09-20 19:21:31 | habilitar/deshabilitar triggers |
Previous Message | francisco . | 2006-09-20 19:00:49 | secuencias |