Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Como jalar un archivo de texto plano a una tabla con campo serial usando el COPY

Estas en el tema de Como jalar un archivo de texto plano a una tabla con campo serial usando el COPY en el foro de PostgreSQL en Foros del Web. Buenas tardes amigos(as), tengo un problema al tratar de insertar en una tabla el contenido de un archivo de texto plano usando el comando COPY, ...
  #1 (permalink)  
Antiguo 07/01/2011, 16:39
 
Fecha de Ingreso: enero-2011
Mensajes: 7
Antigüedad: 7 años, 5 meses
Puntos: 0
Pregunta Como jalar un archivo de texto plano a una tabla con campo serial usando el COPY

Buenas tardes amigos(as), tengo un problema al tratar de insertar en una tabla el contenido de un archivo de texto plano usando el comando COPY, la tabla es de la siguiente forma:

tabla alumno
id_alumno SERIAL, --->Este es el campo que me causa problemas
nom_alumno character(16),
app_alumno character(15),
apm_alumno character(15),
matricula integer not null

La forma del archivo (llamado ej_copy_psql) es así:

Joel Benitez Paez 206359116
Sandra Olivia Saenz 206359115
Bere Blanca Perez 206359114
Fenisia Surita Cazados 206359113
Luis Munes Herrera 206359112
Luisa Vazquez Lopez 206359111

si notamos esta separado por tabuladores, el problema es que quiero insertar el contenido tal cual sin poner el id_alumno ya que ese es un dato incrementable, ya probe insertar el archivo poniendo el id, así:


1 Joel Benitez Paez 206359116
2 Sandra Olivia Saenz 206359115
3 Bere Blanca Perez 206359114
4 Fenisia Surita Cazados 206359113
5 Luis Munes Herrera 206359112
6 Luisa Vazquez Lopez 206359111

asi si inserta bien solo que al hacer un

insert INTO alumno VALUES (
NEXTVAL('alumno_id_alumno_seq'), -->causa problema
'Karmen',
'Lora',
'Velazquez',
'206359110');

solo inserta con insert poniendo el id_alumno a mano (sin usar la función NEXTVAL)

la sentencia que uso es:


SisIns=# \COPY alumno FROM '/home/victor/ej_copy_psql'

Espero y puedan ayudarme, saludos.
  #2 (permalink)  
Antiguo 08/01/2011, 10:47
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.975
Antigüedad: 9 años, 4 meses
Puntos: 356
Respuesta: Como jalar un archivo de texto plano a una tabla con campo serial usando e

Lo mas sencillo es que insertes en la tabla con los ids reconstruidos en el archivo y cuando ya lo tengas insertado, configures la secuencia con el valor que lleva.

Por ejemplo... si tienes una tabla que insertas 1500 registros debes hacer

Código SQL:
Ver original
  1. ALTER SEQUENCE alumno_id_alumno_seq restart WITH 1501;

De aca en adelante, ya no tendrás problema con el NEXTVAL.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 09/01/2011, 18:44
 
Fecha de Ingreso: enero-2011
Mensajes: 7
Antigüedad: 7 años, 5 meses
Puntos: 0
Respuesta: Como jalar un archivo de texto plano a una tabla con campo serial usando e

Ok, te agradezco tu ayuda, pero no sabes como usar el copy para llenar una tabla cuya tabla tenga campos sereales.
  #4 (permalink)  
Antiguo 10/01/2011, 06:50
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.975
Antigüedad: 9 años, 4 meses
Puntos: 356
Respuesta: Como jalar un archivo de texto plano a una tabla con campo serial usando e

directamente no es posible.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: copy, plano, serial, tablas, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:13.