Openquery где в пункте - PullRequest
       10

Openquery где в пункте

0 голосов
/ 24 октября 2019

Я использую openquery. Я попробовал следующий синтаксис: где table.column in ('' '' '+ @ parameter +' '' ''), но все равно отчет не работает, когда я выбираю несколько параметров. Не могли бы вы помочь мне с этим?

1 Ответ

0 голосов
/ 24 октября 2019

Предположим, что ваш @Parameter выглядит следующим образом:

DECLARE @Parameter NVARCHAR(MAX)
SET @Parameter = 'one value'
SET @Parameter = 'first value,second value,....,last value'

Сначала поместите оператор запроса в переменную, подобную этой:

DECLARE @TSQL NVARCHAR(MAX)

SELECT @SQL = REPLACE(N'SELECT * FROM OPENQUERY(connection, ''SELECT * FROM dbo.table WHERE table.column IN (''' + @Parameter + ''')'')', ',', ''',''')

, а затем выполните его с помощью

EXEC sp_ExecuteSQL @TSQL

Примечание: @TSQL должен быть NTEXT, NCHAR или NVARCHAR !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...