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

Assigning multiple values in a parameter of Execute Sql task --SSIS

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

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

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

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

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)

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

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

在您的 Execute Task select 变量中作为查询源并将 User::SQL_Select 定义为源。表达式将在您访问它时进行评估,并将产生 select 语句。