Re: Algo raro en una inserccion

From: Carlos Edward Grajales Marmolejo <cgrajales(at)colombiasoftware(dot)net>
To: JESUS ARNULFO ZACARIAS SANTOS <lsc(dot)jesuszacarias(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Algo raro en una inserccion
Date: 2010-09-22 04:13:21
Message-ID: AANLkTinohzqGoyLuptE0Oc9xe8aSg+-EK22n4A9Eg2Tc@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

En tu tabla hay un campo que utiliza una secuencia, dicho campo es la llave
primaria de la tabla. El error al que hace referencia ocurre cuando intenta
ingresar un dato a la tabla y el consecutivo de la sencuencia contiene un
valor que ya esta ingresado en la tabla, y lo que mencionas es logico, cada
vez que intentas hacer un insert fallido, dicho consecutivo se incrementa
hasta el punto en el que llega a un valor que no esta ingreado en la tabla,
entonces te permite el insert. Aqui lo que ocurre es que o se ingresaron
valores a la tabla en el campo id_cat de forma manual (sin utilizar la
secuencia), o la secuencia fue "manipulada" y cambiada en su valor.

Por que no usas las funciones currval, nextval, esas te pueden ayudar a ver
que es lo que esta pasando. Pero definitivamente el problema es de
programacion, aqui no hay error del lado del motor.

El 21 de septiembre de 2010 18:07, JESUS ARNULFO ZACARIAS SANTOS <
lsc(dot)jesuszacarias(at)gmail(dot)com> escribió:

> Estimados colegas les escribo una situacion un tanto rara y extraña, pero
> que me ha sucedido y no se por que.
> Tengo una tabla de la siguiente forma
> CREATE TABLE esquema1."Catalogo"
> (
> "Id_cat" integer NOT NULL DEFAULT
> nextval('esquema1."Catalogo_Id_cat_seq"'::regclass),
> nombre text,
> CONSTRAINT "Id_cat" PRIMARY KEY ("Id_cat")
> )
>
> y para inserta lo hago de la siguiente manera.
> insert into esquema1."Catalogo" (nombre) values('ropa');
>
> En el entendido de que "Id_cat" es un serial no hay que ingresarlo, pero da
> la casualidad que en la mayoria de las ocasiones lo he hecho asi, pero en
> esta ultima vez, me lanza la siguiente leyenda:
> ERROR: duplicate key value violates unique constraint "Id_cat"
>
> me pareccio raro, segui ejecutando varias veces la consulta, y al final si
> me inserto y despues de eso ya esta trabajando de manera correcta, nunca se
> perdio el serial siguio con la continuidad.
>
> La cuestion es alguien sabe por que ocurrio y si es asi me volvera a dar
> problemas.????
> cabe señalar que tengo varios esquemas y en cada uno de ellos tengo esa
> tabla y la realidad es casi no la uso es rara la inserccion a dicha tabla.
>
> Agradezco de antemano su atencion y ayuda.
>
>

--
------------------------------------------------------------------

Cordialmente,

*Carlos Edward Grajales*
Colombia Software Ltda.
Calle 18 N No. 3N-24 Ofc.902
Cali - Colombia
www.colombiasoftware.net
Cel. 312 711 90 38
Tel: (2) 489 79 40

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mariano Reingart 2010-09-22 05:16:35 Re: Documentos PDF
Previous Message Horacio Miranda 2010-09-22 02:36:54 Re: Documentos PDF