sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo puedo usar TVP fácilmente con un servidor vinculado?

Ok, básicamente la solución es esta (que automatiza la mitad del problema):

declare @tvpVal_string nvarchar(max) = 'declare @tvpVal myTVPType;'
set tvpVal_string += isnull(stuff((select ';insert into @tvpVal values('+...your values...+')' as [text()] from @tvpVal from xml path('')),1,1,'')+';','');

declare @sql nvarchar(max) = tvpVal_string + 
'exec myProc @[email protected],
             @[email protected]'

exec [REMOTESRV].DB..sp_executesql @sql,'@OtherVal type',@OtherVal