El día 23 de marzo de 2011 12:36, Guillermo Villanueva <guillermo...@gmail.com> escribió: > 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 >
Si deseas evitar esto de una manera más o menos automatizada (lo probé muy poco, puede tener contraindicaciones) es: CREATE FUNCTION evitar() RETURNS TRIGGER AS $$ DECLARE BEGIN IF NEW.campo1 != currval('t1_campo1_seq'::regclass) THEN SELECT nextval('t1_campo1_seq'::regclass) INTO NEW.campo1; END IF; RETURN NEW; $$ LANGUAGE plgpsql; CREATE TRIGGER T_t1_evitar_seq_rota BEFORE INSERT ON t1 FOR EACH ROW EXECUTE PROCEDURE evitar(); Contame si te sirve. Saludos! -- -- Emanuel Calvo Helpame.com - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda