Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso utilizzare facilmente i TVP con un server collegato?

Ok, quindi sostanzialmente la soluzione è questa (questo tipo di automatizza metà 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