OpenQuery中的in子句

时间:2019-10-24 19:46:34

标签: openquery

我正在使用openquery。我尝试了以下语法: 其中table.column位于('''''+ @ parameter +''''')中,但是当我选择多个参数时,报表仍然不起作用。 你能帮我吗?

1 个答案:

答案 0 :(得分:0)

假设您的@Parameter是这样的:

DECLARE @Parameter NVARCHAR(MAX)
SET @Parameter = 'one value'
SET @Parameter = 'first value,second value,....,last value'

首先将您的查询语句放入这样的变量中:

DECLARE @TSQL NVARCHAR(MAX)

SELECT @SQL = REPLACE(N'SELECT * FROM OPENQUERY(connection, ''SELECT * FROM dbo.table WHERE table.column IN (''' + @Parameter + ''')'')', ',', ''',''')

然后用

执行
EXEC sp_ExecuteSQL @TSQL

注意::@ TSQL必须为NTEXT,NCHAR或NVARCHAR !!!!