PDA

Ver la Versión Completa : copiar datos de una tabla en otra


fedelphi
23-08-2007, 15:55:49
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....


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 blanqueaid_rubro, monto, cantidad
registro del historicofecha, 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 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:


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:


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



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:



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