Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Como copiar un registro en la misma tabla... (https://www.clubdelphi.com/foros/showthread.php?t=28374)

ilichhernandez 17-12-2005 04:38:28

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.....

__hector 17-12-2005 04:45:36

Tan simple como hacer:

insert into tabla (campo1, campo2, .... campon)
select campo1, campo2, .... campon from tabla

ilichhernandez 18-12-2005 22:34:44

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=:param');
query1.ExecSql;

cyrux22 19-12-2005 17:31:25

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;



La franja horaria es GMT +2. Ahora son las 05:51:26.

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