Al final no doy con ello:
Tengo una tabla en una bd en un server y quiero actualizarla con los
registros nuevos de una consulta select a otro server. La consulta select es
así:
select nb.num_reg, nb.camp1, nb.camp2,nb.camp5,nb.camp3,nb.camp4,
case when nacamp6 IS null then nb.camp6
when nacamp6 = '' then nb.camp6
else nacamp6
END,
nb.camp7, mb.camp8,
case when c.camp9 IS null then nb.camp9
when c.camp9 = '' then nb.camp9
else c.camp9
END,
nb.camp10,nb.camp11,nb.camp12,
From tabla1 nb (NOLOCK) LEFT OUTER JOIN tabla2 na (NOLOCK) ON nb.camp6 =
na.codigo
LEFT OUTER JOIN tabla3 c (NOLOCK) ON nb.camp9 = c.codigo ,tabla4 mb (NOLOCK)
Where nb.fecha = '20080101' And (nb.camp11 = 'D' or nb.camp11 = 'T')
and nb.camp3 <> 0 and nb.camp11 = mb.codigo order by nb.fecha
Entonces yo lo que hago es:
execute ServerP.bdpruebas.dbo.sp_executesql N'truncate table ttodos'
INSERT INTO OPENQUERY(ServerP, 'select * from ttodos where 1=2')
y la "select" al final del insert into para que me inserte todo...
¿como hago que me inserte sólo los que aparecen en la select y no están en
la tabla ttodos de la bd en el ServerP?
Carlos, Help please!!!
Leer las respuestas