我正在创建一个SSIS
包使用Execute sql task
和Script task.
此包根据参数显示表内容。
我在execute-sql任务中给出了以下查询
Select * from Production.Product Where ProductID in ( 316,324)
我需要将值316, 324
分配到parameter
并填充结果集。如何在p arameter variable
中分配多个值?请帮忙
答案 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语句。