powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / OPENQUERY.....where in ''''' + @parameter + '''''
4 сообщений из 4, страница 1 из 1
OPENQUERY.....where in ''''' + @parameter + '''''
    #40033580
Ferx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Прошу помочь разобраться с openquery, где нужно использовать оператор where IN ( +@parameter+)

-- @xml_str = ('USD','EUR') -- получен путем for xml path('') и сконвертирован в nvarchar.

DECLARE @TEXT NVARCHAR(MAX)

select @TEXT = 'SELECT * FROM OPENQUERY(KHD,
''SELECT *
FROM HT.CURRENCY
WHERE CODE IN ''''' + @xml_str + '''''
'')
'
EXEC (@TEXT)

Выдает ошибку: Incorrect syntax near 'USD'.
...
Рейтинг: 0 / 0
OPENQUERY.....where in ''''' + @parameter + '''''
    #40033582
Ferx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Прошу помочь разобраться с openquery, где нужно использовать оператор where IN ( +@parameter+)

-- @xml_str = ('USD','EUR') -- получен путем for xml path('') и сконвертирован в nvarchar.

DECLARE @TEXT NVARCHAR(MAX)

select @TEXT = 'SELECT * FROM OPENQUERY(KHD,
''SELECT *
FROM HT.CURRENCY
WHERE CODE IN ''''' + @xml_str + '''''
'')
'
EXEC (@TEXT)

Выдает ошибку: Incorrect syntax near 'USD'
Пробовал передать @xml_str без скобок, или просто одно значение, все равно не работает.

-----------------
Варинат 2.
Если обявить @xml_str одтельно просто как одно значение, то IN работает. Не понятно, что не так с первым вариантом скрипта.

DECLARE @TEXT NVARCHAR(MAX) , @xml_str char(10)
SELECT @xml_str = 'USD'

select @TEXT = 'SELECT * FROM OPENQUERY(newkhd,
''SELECT *
FROM HTF13.CURRENCY
WHERE ISO_CODE IN ''''' + @xml_str + '''''
'')
'
EXEC (@TEXT)
...
Рейтинг: 0 / 0
OPENQUERY.....where in ''''' + @parameter + '''''
    #40033584
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ferx
Не понятно, что не так с первым вариантом скрипта.

print @TEXT сделай вместо EXEC, и сразу станет понятно
...
Рейтинг: 0 / 0
OPENQUERY.....where in ''''' + @parameter + '''''
    #40060313
Ferx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court, спасибо!)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / OPENQUERY.....where in ''''' + @parameter + '''''
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]