Sql OPENQUERY中无法识别数值错误

Sql OPENQUERY中无法识别数值错误,sql,stored-procedures,openquery,Sql,Stored Procedures,Openquery,我有以下存储过程。当它运行时,我得到了错误 返回消息“无法识别数值'+@requestno+'。我认为变量requestno的设置不起作用。我如何解决它 Declare @requestno nvarchar(max) Set @requestno = (Select requestno from table1 where condition met) SELECT * INTO tempdb..#temptable FROM OPENQUERY (SalesDb, 'SELECT *

我有以下存储过程。当它运行时,我得到了错误 返回消息“无法识别数值'+@requestno+'。我认为变量requestno的设置不起作用。我如何解决它

Declare @requestno nvarchar(max)
Set @requestno = (Select requestno from table1 where condition met)
SELECT * INTO tempdb..#temptable FROM OPENQUERY (SalesDb,
    'SELECT  * 
      FROM   TableinAnotherDb
      WHERE  1=1     
     and request_number=''+@requestno+'' Order by some column'    
  )

谢谢

提前准备好您的查询:

Declare @queryStr nvarchar(max)
SELECT @queryStr ='SELECT  * 
      FROM   TableinAnotherDb
      WHERE  1=1     
     and request_number='+ requestno+' Order by some column'   
FROM table1 
WHERE condition met
SELECT * INTO tempdb..#temptable FROM OPENQUERY (SalesDb,@queryStr)

我认为我们不能将用户定义的变量传递给openquery。