Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-12-2005
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Question Como copiar un registro en la misma tabla...

Hola amigos, estoy terminando un proyecto y revisando me encontre con que me faltaba algo para terminar.....necesito copiar un registro de una tabla dentro de una misma tabla , claro que cambiandole la clave principal, intente mezclando un insert con select pero no llegue muy lejos, si alguien fuera tan amable de guiarme un poco en esto le agradeceria mucho....

Ejemplo tabla
codigo1 nombre 1 apellido1 //registro

codigo2 nombre 1 apellido 1 //el registro copiado

Gracias.....
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Responder Con Cita
  #2  
Antiguo 17-12-2005
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
Tan simple como hacer:

insert into tabla (campo1, campo2, .... campon)
select campo1, campo2, .... campon from tabla
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #3  
Antiguo 18-12-2005
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Question

Gracias........... me ha sido de utilidad para entender el concepto.... pero el problema es que al realizarlo de esa manera copia el registro completo con la misma clave principal..... y ahi no se como poder cambiarla sin tener que escribir en la sentencia los 120 campos de la tabla...

Código SQL [-]
query1.SQL.Clear;
query1.SQL.add('INSERT into resultados SELECT * from resultados where lr=aram');
query1.ExecSql;
__________________
[Lo que a veces es tan facil, a veces parece imposible]

Última edición por ilichhernandez fecha: 18-12-2005 a las 22:52:57.
Responder Con Cita
  #4  
Antiguo 19-12-2005
Avatar de cyrux22
cyrux22 cyrux22 is offline
Registrado
 
Registrado: dic 2005
Posts: 4
Poder: 0
cyrux22 Va por buen camino
lo que podes hacer, si tenes que copiar la totalidad de los campo, es contar los campos que tenes en la tabla y en el select incrementar el codigo con la cantidad total de registros.

Código:
query1.sql.clear;
query1.sql.add('SELECT COUNT(*) AS cantidad FROM tabla');
query1.Active := true;
cantidad := query1.FieldByName('cantidad').AsInteger;
query1.sql.clear;
query1.sql.add('INSERT INTO tabla SELECT codigo+'+InttoStr(cantidad)+' AS codigo, campo2 FROM tabla');
query1.ExecSQL;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:09:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi