Я редактирую запрос, который содержит двойной openquery
.Но в этом запросе мне нужно добавить параметр.Поскольку я никогда не работал на SQL Server, я не знаю, как добавить этот параметр в свой запрос.
Запрос выглядит так:
SELECT *
FROM openquery([1STCONNECTOR],'
SELECT *
FROM openquery([2NDCONNECTOR],''
SELECT *
FROM table
WHERE field = ''''PARAM'''''
)'
)
Сначала я попытался:
SELECT *
FROM openquery([1STCONNECTOR],'
SELECT *
FROM openquery([2NDCONNECTOR],''
SELECT *
FROM table
WHERE field = ''''' + @PARAM + '''''
)'
)
Но это не работает.
Затем я попытался отделить запрос следующим образом:
SET @query = 'SELECT *
FROM table
WHERE field = ' + @PARAM + ')'
SELECT *
FROM openquery([1STCONNECTOR],'
SELECT *
FROM openquery([2NDCONNECTOR],'''+ @VAR +''')')
Но он также не работает.
Возвращенные ошибки касаются синтаксиса, например:
Unexpected "+", expected ")"
Еще одна попытка, похожая на предыдущую:
SET @query1 = 'SELECT * FROM openquery([2NDCONNECTOR],' + @query2 + ')'
SET @query2 = 'SELECT * from BPCS61F.ITH WHERE field = ' + @PARAM + ')'
SELECT * FROM openquery([1STCONNECTOR], @query1)
Здесь ошибка в третьем запросе и произнесите:
Syntax error close of "@query1". Expected STRING, or TEXT_LEX
@query1
и @query2
оба varchar(max)
Извините, если синтаксис не соответствует соглашениям языка сервера SQL, я изучаю.
Спасибо, Сол