dts para realizar updates

06/01/2006 - 17:33 por hongo32es | Informe spam
Hola a todos, es posible en un dts comparar datos de tablas y si los
datos no existen insertarlos y si existen realizar un update? gracias.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera [MVP]
06/01/2006 - 17:50 | Informe spam
Sí, pero requiere programación del DTS, no es algo simple de tipo NNF (*)

Data Driven Query Task
http://msdn.microsoft.com/library/d...1_9w2z.asp

(*) Next-Next-Finish ;-)

Gustavo Larriera
Uruguay LatAm
Blog: http://sqljunkies.com/weblog/gux/
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.

wrote in message
news:
Hola a todos, es posible en un dts comparar datos de tablas y si los
datos no existen insertarlos y si existen realizar un update? gracias.

Respuesta Responder a este mensaje
#2 qwalgrande
09/01/2006 - 20:10 | Informe spam
Hola.

¿No preguntaste esto mismo hace unos días? Es igual, te copio lo que te
comenté entonces:

Hola.


Para hacer este tipo de cosas suelo emplear un paso del DTS por operación,
en tu caso tienes 2, insert y update. Si tuvieras que eliminar registros en
destino, habría que incluir un paso más para ello.


Si la base de datos de origen y de destino están en distinto servidor, hay
un paso previo que es volcar a la base de datos de destino todos los
registros a actualizar, y una vez que tengamos todos los datos en el mismo
servidor, podemos atacar los pasos de inserción y de actualización. Trabajar
con servidores vinculados no suele ofrecer un rendimiento muy bueno, así que
mejor tenerlo primero todo en el mismo servidor. Puedes emplear una tabla
temporal global (con dos ##) o una tabla normal.


Es sencillo. Para el insert, una sentencia insert..select, con este aspecto
más o menos:


insert TablaDestino
select O.*
from TablaOrigen O left join TablaDestino D on O.ClavePrimaria D.ClavePrimaria
where O.CampoFiltroDeActualizacion = 'Valor' and D.ClavePrimaria is null


Lo que he llamado "CampoFiltroDeActualizacion" suele ser los dato desde una
fecha o cualquier otro tipo de filtro. Para el update, muy parecido:


update D
set Campo1= O.Campo1, Campo2 = O.Campo2,...
from TablaOrigen O left join TablaDestino D on O.ClavePrimaria D.ClavePrimaria
where O.CampoFiltroDeActualizacion = 'Valor'


Espero que te sirva como ayuda para adaptarla a tu problema.


Alberto López Grande (qwalgrande)
escribió en el mensaje
news:
Hola a todos, es posible en un dts comparar datos de tablas y si los
datos no existen insertarlos y si existen realizar un update? gracias.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida