--------------------------------------------------
From: "Alvaro Herrera" <[EMAIL PROTECTED]>
Sent: Friday, December 05, 2008 8:23 AM
To: "Gustavo Rosso" <[EMAIL PROTECTED]>
Cc: <pgsql-es-ayuda@postgresql.org>
Subject: Re: [pgsql-es-ayuda] Serial
Gustavo Rosso escribió:
Hola.
Tengo un archivo plano extraido de una tabla informix, cuyo primer campo
es serial, y comienza en 10000.
Con COPY la subo a postgres y lo hace correctamente.
Ahora bien, cuando hago un insert en esta tabla el campo serial
(auto-incremento) lo graba comenzando la secuencia por 0 y deberia
grabarlo con el primero disponible de los datos que subi.
Como hago para que se respete esa secuencia?
Después de hacer una inserción con datos que no usan el generador serial
(debido a que los datos que importas traen un valor para esa columna),
debes incrementar el generador hasta un valor mayor al último usado por
los nuevos datos. Para hacer esto, usa la función setval().
Gustavo, si te interesa y son muchas las tablas con este "problema", te
puedo pasar una función que te actualiza los seriales al max(id) de la tabla
correspondiente.
Atentamente,
RAUL DUQUE
Bogotá, Colombia
--
Alvaro Herrera Developer,
http://www.PostgreSQL.org/
"Amanece. (Ignacio Reyes)
El Cerro San Cristóbal me mira, cínicamente, con ojos de virgen"
--
TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo
agradecerán
__________ Information from ESET Smart Security, version of virus
signature database 3666 (20081205) __________
The message was checked by ESET Smart Security.
http://www.eset.com
--
TIP 7: no olvides aumentar la configuración del "free space map"