Какую проблему вы видите конкретно?Может помочь дополнительная информация.
Что я могу сказать, так это то, что ваш код преобразуется в длинную строку SQL (вместо bondnumber
вместо *1003*)
DECLARE @investor varchar(10), @thepassword varchar(20), @linkedserver2 varchar(25), @sql varchar(1000) SELECT @investor = '69836', @linkedserver2 = 'binfodev', @sql = 'SELECT * FROM ' + @linkedserver2 + ' WHERE bondno = ''@investor'' ' EXEC(@sql)
I 'Ставлю, если вы выполните это в окне запроса, это не удастся.Попробуйте добавить ;
в конце каждого логического оператора.
Рассматривали ли вы просто сделать этот код хранимой процедурой и передать ей параметры?Подобный код довольно опасен (SQL-инъекция), труден для чтения и в целом немного уродлив.
Пример кода хранимой процедуры:
CREATE PROCEDURE dbo.usp_MyStoredProcedure
@Param1 INT = NULL
AS
SELECT * FROM MyTable Where Col1 = @Param1