|
OPENQUERY.....where in ''''' + @parameter + '''''
|
|||
---|---|---|---|
#18+
Добрый день. Прошу помочь разобраться с 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'. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 12:25 |
|
OPENQUERY.....where in ''''' + @parameter + '''''
|
|||
---|---|---|---|
#18+
Добрый день. Прошу помочь разобраться с 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) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 12:30 |
|
OPENQUERY.....where in ''''' + @parameter + '''''
|
|||
---|---|---|---|
#18+
Ferx Не понятно, что не так с первым вариантом скрипта. print @TEXT сделай вместо EXEC, и сразу станет понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2021, 12:32 |
|
|
start [/forum/topic.php?fid=46&fpage=28&tid=1684852]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 133ms |
0 / 0 |