FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
duplicar registros
Hola amigos del foro, trabajo con Firebird 2.0 y Delphi 5, estoy desarrollando un sistema de facturacion con maestro-detalle
Tengo una tabla maestro "facturas" y otra detalle "lineas". El tema es que quiero hacer una copia de una determinada cantidad de registros de la tabla facturas con el detalle correspondiente, cambiando solo el campo fecha, o sea quiero copiar todas las facturas de una determinada fecha y "duplicarlas" con un nueva fecha, no se si se entiende. Se me ocurre hacer un select y luego recorrer todos los renglones realizando un insert con los valores correspondientes, pero tal vez exista una forma mas "facilk" de hacerlo, gracias. |
#2
|
||||
|
||||
en la web encontre esto, espero que te sirva:
Código SQL [-]INSERT INTO repres SELECT * FROM empleados WHERE titulo = 'rep ventas' Con la SELECT obtenemos las filas correspondientes a los empleados con título rep ventas,y las insertamos en la tabla repres. Como las tablas tienen la misma estructura no hace falta poner la lista de columnas y podemos emplear * en la lista de selección de la SELECT. Ejemplo: Supongamos ahora que la tabla repres tuviese las siguientes columnas numemp, oficinarep, nombrerep. En este caso no podríamos utilizar el asterisco, tendríamos que poner: Código SQL [-]INSERT INTO repres SELECT numemp, oficina, nombre FROM empleados WHERE titulo = 'rep ventas' O bien: Código SQL [-]INSERT INTO repres (numemp, oficinarep, nombrerep) SELECT numemp, oficina, nombre FROM empleados WHERE titulo = 'rep ventas' espero que algun ejemplo te sirva
__________________
Todos llevamos nuestros demonios a cuestas.. |
#3
|
|||
|
|||
Hola
Si la tabla facturas tiene un primary key, que supongo que si, no te va a funcionar, de no ser asi el insert que te sugieren va a funcionar muy bien, solo que el es select cambias el campo fecha por el valor constante de la nueva fecha por el.
o algo muy parecido con las condiciones que requieras Suerte |
#4
|
|||
|
|||
Tu ejemplo funciona pero no se como tendria que hacer parponer valores nuevos a algunos campos, por ejemplo copiar los registros con una nueva fecha
|
#5
|
|||
|
|||
Entendido, pero la tabla tiene un primary key
|
#6
|
|||
|
|||
Hola
Entonces no puedes duplicar los registros, tendrias que insertarlos con otro numero asi lo podrias hacer
de esta forma la factura de quedara con el numero mas 50000, por ejemplo la factura con numero 23456 quedaria con 73456 Suerte |
#7
|
|||
|
|||
Puedo hacer una variable?
insert into facturas (factura,numero,fecha,valor) select factura,:numeronuevo,valor from facturas |
#8
|
|||
|
|||
El parametro funcionaria si se va a insertar un solo registro, si se va a insertar mas de uno tendrias que pasar un valor nuevo para cada uno de ellos
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Duplicar Registros | Chris | Firebird e Interbase | 12 | 01-02-2008 21:35:30 |
Duplicar form | Delar | OOP | 8 | 05-12-2006 00:25:34 |
Duplicar un Objeto | Fita | SQL | 5 | 01-05-2005 15:14:33 |
Duplicar tabla | k2k2k2 | Firebird e Interbase | 2 | 11-07-2004 07:02:20 |
para no dejar duplicar registros en InterBase | Giniromero | Firebird e Interbase | 5 | 21-06-2003 02:05:03 |
|