Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como posso usar facilmente TVPs com um servidor vinculado?


Ok, então basicamente a solução é esta (isso automatiza metade do 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