Gracias, disparaba el mismo error porque lo que estaba mal era la secuencia.
Lo solucioné con un:
SELECT setval('facturacion.nomenclador_id_nomenclador_seq', 366);

Saludos

~~~~~~~~~~~~~~~~
Guillermo Villanueva


El 22 de marzo de 2011 19:56, Héctor Alonso Lozada Echezuría <
ima...@gmail.com> escribió:

> Viejo no pierdas mas tiempo si lo que te interesa es insertar el
> siguiente valor de un serial lo que debes hacer es un simple insert
> e indicarle donde va el atributo serial el DEFAULT, ejemplo:
>
> INSERT INTO tabla(serial, atrib1, atrib2, atrib3, atribn) VALUES
> (DEFAULT, val1, val2, val3, valn);
>
> El día 22 de marzo de 2011 07:58, Guillermo Villanueva
> <guillermo...@gmail.com> escribió:
> > Buenas, tengo una tabla donde la pk es un serial
> > supongamos
> > CREATE TABLE t1
> > (
> >   campo1 serial NOT NULL,
> >   campo2 varchar(20),
> >   campo3 integer,
> >   CONSTRAINT t1_pkey PRIMARY KEY (campo1),
> > )
> > y necesito hacer un insert basado en un select sobre datos de la misma
> > tabla....
> > intenté:
> > insert into t1 (campo2,campo3)
> > select campo2,5
> > from t1
> > where
> >    campo3 =4;
> > pero no funcionó, me da clave duplicada
> > cómo hago?
> > Desde ya muchas gracias
> > Saludos
> >
> > ~~~~~~~~~~~~~~~~
> > Guillermo Villanueva
> >
> >
>
>
>
> --
> /*---------------------------------------------------------------------
>  *
>  *  Héctor Alonso Lozada Echezuría
>  *  imatsu
>  *  L. C. 374500
>  *  debian lenny i386
>  *
>  *---------------------------------------------------------------------*/
>

Responder a