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