
insert con openquery en bloque
Publicado por daniel pinto (2 intervenciones) el 11/09/2014 19:21:57
Hola a todos, me estoy estrenando con el uso de servidores vinculados y en general con el sql, he logrado la conexion entre un server 2008 y un servidor mysql en un hosting , ya puedo hacer todas las consultas. mi pregunta es si hay alguna forma de hacer la insercion de registros en el servidor MySQL sin necesidad de asignarle un valor por variables, es decir en este momento si quiero insertar en una tabla hago esto
declare @nits table(
nregistro int identity (1,1),
identificacion bigint,
nombre varchar(45),
relacion varchar(1));
declare @max int,
@contador int,
@identi bigint,
@nombrev varchar(45);
insert into @nits
select n.nit,n.nombreintegrado,n.relacion from nits n,asociados a
where n.nit=a.cedulasociado and n.relacion='A' and a.estado='A'
set @max =(select MAX(nregistro) from @nits)
set @contador=1
while @contador<=@max
begin
set @nombrev = (select nombre from @nits where nregistro=@contador)
set @identi=(select identificacion from @nits where nregistro=@contador)
insert openquery(web,'select idnits,nit,nombre,relacion
from fedeyco_consultafedeyco.nits') values(@contador,@identi,@nombrev,'A')
set @contador=@contador +1
end
como pueden ver lo que hago es en una variable asignar el valor a insertar y luego en el values llamo todas las variable, lo que quiero es saber si se puede hacer la insercion con el openquery como se haria con el insert into...select de manera local. GRACIAS
declare @nits table(
nregistro int identity (1,1),
identificacion bigint,
nombre varchar(45),
relacion varchar(1));
declare @max int,
@contador int,
@identi bigint,
@nombrev varchar(45);
insert into @nits
select n.nit,n.nombreintegrado,n.relacion from nits n,asociados a
where n.nit=a.cedulasociado and n.relacion='A' and a.estado='A'
set @max =(select MAX(nregistro) from @nits)
set @contador=1
while @contador<=@max
begin
set @nombrev = (select nombre from @nits where nregistro=@contador)
set @identi=(select identificacion from @nits where nregistro=@contador)
insert openquery(web,'select idnits,nit,nombre,relacion
from fedeyco_consultafedeyco.nits') values(@contador,@identi,@nombrev,'A')
set @contador=@contador +1
end
como pueden ver lo que hago es en una variable asignar el valor a insertar y luego en el values llamo todas las variable, lo que quiero es saber si se puede hacer la insercion con el openquery como se haria con el insert into...select de manera local. GRACIAS
Valora esta pregunta


0