Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak mogę łatwo korzystać z TVP z połączonym serwerem?

Ok, więc zasadniczo rozwiązanie jest takie (to automatyzuje połowę problemu):

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uruchomienie skryptu wykonanego przez wygenerowanie skryptu na innym serwerze daje błąd

  2. SQL Server 2008:wprowadź listę rozdzielaną przecinkami?

  3. Dynamicznie wybierz kolumnę w zapytaniu SQL

  4. haszować wiersz SQL?

  5. Jak porównać dwie daty, aby znaleźć różnicę czasu w SQL Server 2005, manipulacja datami