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

Copiar datos de columna a columna nueva

Estas en el tema de Copiar datos de columna a columna nueva en el foro de PostgreSQL en Foros del Web. Buenas.. la verdad me inicio en esto de Postgres y BD.. Mi problema es procedimental mas que nada.. Tengo un campo IDCLIENTE que en vez ...
  #1 (permalink)  
Antiguo 15/12/2011, 04:45
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Copiar datos de columna a columna nueva

Buenas.. la verdad me inicio en esto de Postgres y BD..

Mi problema es procedimental mas que nada..

Tengo un campo IDCLIENTE que en vez de contener un ID autoincrement le incluyeron el NUMERO DE DOCUMENTO de la persona...

Ahora necesito crear un nuevo campo o columna llamada DOCUMENTO, cosa que es sencilla.. pero aqui viene el problema..

Hay alguna funcion o procedimiento en pgsql para:

a- Pasar los datos actuales de IDCLIENTE a DOCUMENTO?

b- Lograr que el campo IDCLIENTE, una vez transferido los datos, genere una numeración correlativa normal.. es decir, que vaya del 1 al 160.000 de manera correlativa como deberia ser un ID?

La base de datos es bastante vieja, y no se porque la diseñaron asi, y tengo alrededor de 169mil registros, y hacerlo manualmente con el pgAdmin me traería un monton de tiempo..

Desde ya gracias...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #2 (permalink)  
Antiguo 15/12/2011, 08:01
 
Fecha de Ingreso: septiembre-2011
Ubicación: Bogota
Mensajes: 31
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Copiar datos de columna a columna nueva

a ver si te entiendo lo que quieres es añadir un identificador único diferente al que actualmente se tiene,

yo te recomendaría que hicieras
-primero crea una secuencia.
- dos crea una función que contenga un ciclo que en su interior tenga un UPDATE que actualice el campo documento = nextval('nombre de la secuencia que creaste.').

espero que esto te sirva. cualquier cosa estaré atento :)
  #3 (permalink)  
Antiguo 03/01/2012, 19:02
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Copiar datos de columna a columna nueva

Hola que tal, disculpa lo tarde de la respuesta. Trata anexando un campo a la tabla llamado serial.

ALTER TABLE Tabla_X ADD COLUM Documento SERIAL y el solo va a ir incrementando sin problema.

Tambien lo que puedes hacer es, anexar la columna

ALTER TABLE Tabla_X ADD COLUM Documento INT NOT NULL DEFAULT 0

y luego hacer un copiado de la columna que quieres a la nueva columna:

INSERT INTO Tabla_X ( Documento )
SELECT Campo_Copiar
FROM Tabla_X

Y luego ocupas ir aumentando el campo con una secuencia.



Última edición por drako_darpan; 03/01/2012 a las 19:24

Etiquetas: columna, postgres, sql, 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 06:54.