在Execute Sql任务--SSIS的参数中分配多个值

时间:2016-09-20 10:02:55

标签: sql sql-server ssis ssis-2012

我正在创建一个SSIS包使用Execute sql taskScript task.此包根据参数显示表内容。

我在execute-sql任务中给出了以下查询

 Select * from Production.Product Where ProductID in ( 316,324)

我需要将值316, 324分配到parameter并填充结果集。如何在p arameter variable中分配多个值?请帮忙

2 个答案:

答案 0 :(得分:1)

DECLARE @String nvarchar(Max),@ProductID varchar(25)

SET @productID ='316,324'

SET @String=''
SET @String='Select * from Production.Product Where ProductID in ( '+@productID+')  '
Print @String  
EXECUTE (@String)

答案 1 :(得分:1)

如果CSV列表中的值少于2000,则可以使用以下表达式创建值为316, 324的字符串变量Params和另一个字符串变量SQL_Select:

"Select * from Production.Product Where ProductID in ("+@[User::Params]+")"  

执行任务中选择变量作为查询源,并将User :: SQL_Select定义为源。表达式将在您访问时进行评估,并将生成select语句。