我有一个可变@csv持有逗号分隔值,例如:-a -a,B -a,B,C
我需要将它传递在数据流我的OLE DB源的查询创建一个查询,如:
SELECT COUNT(1)从表WHERE COL1 IN @csv
因此,如果@ CSV =“A,B”,那么在内部它应该分解成
SELECT COUNT(1)从表WHERE COL1 IN 'A', 'B'
这怎么能在2008年SSIS做到最好? 我能避免脚本组件来创建一个动态查询并将其存储在一个变量?
我有一个可变@csv持有逗号分隔值,例如:-a -a,B -a,B,C
我需要将它传递在数据流我的OLE DB源的查询创建一个查询,如:
SELECT COUNT(1)从表WHERE COL1 IN @csv
因此,如果@ CSV =“A,B”,那么在内部它应该分解成
SELECT COUNT(1)从表WHERE COL1 IN 'A', 'B'
这怎么能在2008年SSIS做到最好? 我能避免脚本组件来创建一个动态查询并将其存储在一个变量?
这怎么能在2008年SSIS做到最好? 我能避免脚本组件来创建一个动态查询并将其存储在一个变量?
最简单/最好的办法仍然是用脚本组件。
否则,你可以:
您可以创建一个变量来存储查询和使用表达式,如组成它的价值:
变量列表:
选项1:在使用OLE DB的情况下 ,选择SQL Command from variable
,并绑定变量@sqlQuery:
选项2:在使用ADO.NET的情况下 ,进入数据流任务的性能和扩展Expressions
,并绑定ADO.NET源> SqlCommand时可变@sqlQuery +确保ADO.NET Source > Data access mode
是SQL Command
:
方案3:在使用的情况下, Execute SQL Task
,拓展Expressions
和SqlStatementSource与变量绑定@sqlQuery +确保SQL Source Type
是Direct Input
: