Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   copiar datos de una tabla en otra (https://www.clubdelphi.com/foros/showthread.php?t=47279)

fedelphi 23-08-2007 15:55:49

copiar datos de una tabla en otra
 
Hola a todos en el foro, la duda que tengo es para copiar los datos de una tabla que se blanquea todos los dias a otra que mantiene un historico. Para ello debo copiar el registro completo a la tabla historica con el agregado de la fecha. A esto lo debo realizar con un SP ya hecho que tiene la fecha como parametro de entrada. Muchas gracias.
Fede

ArdiIIa 23-08-2007 16:00:10

A ver si el SP con algo así te funciona....


Código SQL [-]
INSERT INTO HISTORICO
SELECT * FROM TABLA_QUE_SE_BLANQUEA
WHERE  FECHA >= :FECHA_PARAM

fedelphi 23-08-2007 16:16:14

Gracias ardilla por tu respuesta, el tema es que la fecha no es una condicion, para ser mas claro
registro de tabla que se blanquea
Cita:

id_rubro, monto, cantidad
registro del historico
Cita:

fecha, id_rubro, monto, cantidad
debo copiar todos los registros de la tabla que se balquea a la historico pero le tengo que agregar la fecha ya que las consultas por fecha son sobre la historico.
Haciendo
Código SQL [-]
INSERT INTO HISTORICO
SELECT * FROM TABLA_QUE_SE_BLANQUEA
como coloco la fecha en el campo fecha de la historico, esa es mi duda.
Fede

ContraVeneno 23-08-2007 18:07:06

Tendrías que ir definiendo campo por campo:

Código SQL [-]
Insert into UnaTabla(campo1, campo2)
Select UnValor, OtroValor
From OtraTabla
Where Condicion = 1


Solo tienes que considerar que sean los mismos campos y del mismo tipo, tanto en el insert, como en el select

roman 23-08-2007 18:21:54

Creo que aquí lo que hay que enfatizar es que puede agregar la columna extra:

Código SQL [-]
insert into historico
select '2007-08-23', *
from tabla_que_se_limpia

y, en lugar de un valor literal, supongo que se le puede pasar el parámetro del SP.

// Saludos

Paoti 23-08-2007 18:26:36

uniendo las respuesta de Contraveneno y Roman

la sentencia quedaria de la siguiente forma


Código SQL [-]
Insert into UnaTabla(CAMPOFECHA, campo1, campo2)
Select Getdate(), otroCampo1, OtroCampo2
From OtraTabla
Where Condicion = 1


es decir, que tu puedes incluir una columna constante que nunca cambiaria en la sentencia, como lo señala roman


puedes hacer esto:


Código SQL [-]
SELECT 'HOLA', NOMBRE, APELLIDO FROM CLIENTES

siemrpe aparecera hola, ahora cambialo por el parametro del SP, y listo


-Paoti.

fedelphi 24-08-2007 03:59:36

Lo probe y funciono perfectamente, muchisimas gracias contraveneno, roman y paoti. Con el parametro del SP queda asi
Código SQL [-]
 INSERT INTO HISTORICO (fecha, id_rubro, monto, cantidad)
  SELECT :PEFecha_cierre, id_rubro, monto, cantidad FROM VENTA_DIARIA;
donde pefecha_cierre es el parametro en el que se informa la fecha al SP.
Muchas gracias de nuevo!!!;););)
Fede


La franja horaria es GMT +2. Ahora son las 19:09:45.

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