SQL Server - update con servidores vinculados

   
Vista:

update con servidores vinculados

Publicado por Elmer (3 intervenciones) el 28/09/2013 23:25:42
Señores, tengo dos servidores vinculados entres si, y lo que necesito es actualizar el campo fecha de pago que tiene la tabla origen el servidor remoto en la tabla destino que esta en mi servidor local.

estuve intentando así, pero no se como pasarlo en un array par que me actualice el campo fecha

espero su ayuda por favor

este es el query que estoy intentando


DECLARE @idorigen NUMERIC , @iddestino NUMERIC , @fecha datetime

SELECT
@idorigen = (SELECT TOP 1 operid,Fecent FROM temp where operid=6130877),
@iddestino = (SELECT TOP 1 id,fecent FROM REMOTO1."BASEDEDATOS".dbo.tmp1 where id=613087) ,
@fecha = (SELECT TOP 1 fecent FROM REMOTO1."BASEDEDATOS".dbo.tmp1 where id=@idorigen)

UPDATE temp Fecha=@fecha
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

update con servidores vinculados

Publicado por Miguel (14 intervenciones) el 30/09/2013 03:01:16
Hola,
No es más simple cargar los datos del remoto a una temporal y luego actualizar la otra tabla con una subquery....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias Islas Gonzalez

update con servidores vinculados

Publicado por Isaias Islas Gonzalez (3180 intervenciones) el 30/09/2013 19:28:09
Pues yo no entendi muy bien lo que nos explicas, pero si son servidores vinculados (LINKED SERVER), seria tan simple como

UPDATE tuTablaDestino SET tuCampoDestino = x.TuCampoFuente
..................................,
..................................,
FROM tuTablaDestino td JOIN (SELECT CampoRemoto REMOTO1."BASEDEDATOS".dbo.tmp1 where id=613087) as x ON td.CampoID = x.CampoID
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

update con servidores vinculados

Publicado por Elmer (3 intervenciones) el 30/09/2013 21:01:00
Si claro , lo que pasa que yo tengo que primero pregunta en mi tabla local todos estos registros que estan pendientes y en la tabla remota preguntar si estan pagados , actualizame en mi tabnal local
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias Islas Gonzalez

update con servidores vinculados

Publicado por Isaias Islas Gonzalez (3180 intervenciones) el 30/09/2013 23:28:53
Pon ejemplos de tus datos y como deseas que queden al final del update
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

update con servidores vinculados

Publicado por Elmer (3 intervenciones) el 02/10/2013 01:24:12
Si el resultado seria asi:
Tengo una tabla local donde pregunto todos estos registros pendientes
SELECT top 2 id,fechapago,estado FROM tablalocal WHERE estado IN('PEND','ENVI') order by id desc
luego con este resultado tengo que ir a mi tablaremota que esta en el otro servidor y preguntar por el id si esos id el campo fechapago,estado a cambiado o es diferente del origen entonces actualizame en mi tablalocal y eso esta amarrado por tabla local
SELECT TOP 100 id,fechapago,estado * FROM LINKSERVER1."BDATOS".dbo.tablaremota
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias Islas Gonzalez

update con servidores vinculados

Publicado por Isaias Islas Gonzalez (3180 intervenciones) el 02/10/2013 20:10:19
Pruebalo

UPDATE tablalocal SET fechapago = r.fechapago,
estado = r.estado
FROM
(SELECT id,fechapago,estado FROM tablalocal WHERE estado IN('PEND','ENVI')) T1
JOIN (SELECT r.fechapago, r.estado from serverremoto.baseremota.dbo.tablaremota) r
on t1.id = r.id
and t1.fechapago <> r.fechapago and
t1.estado <> r.estado)


PD: Con tablas de prueba !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar