sql - How can I use a table variable as a parameter for OPENQUERY -


how can use table variable parameter openquery

something like:

declare @tsql varchar(8000) declare @var table (var1 varchar (2)) insert @var values ('ca'),('or') ,('wa') select  @tsql = 'select * openquery(mylinkedserver,''select * pubs.dbo.authors state = ''''' + (select var1 @var)+ ''''''')' exec (@tsql) 

i found solution works case:

declare @query varchar(8000) declare @list varchar(8000) declare @len int set @list = '' declare @var table (var1 varchar (30)) insert @var values ('2015-01-01 00:00:00.000'),('2015-01-02 00:00:00.000') ,('2015-01-03 00:00:00.000') select @list = @list + isnull(var1 + ''''',''''', '') @var set @len = len(@list) set @list = ''''''+left(@list,@len-3) select @query =     'select *     openquery([remoteserver],         ''         select *         [database].[schema].[table]         field in (' + @list + ')         '')' exec (@query) 

Comments