我想为表MyProc
中的每一行执行一个存储过程MyTable
,其中包含某些输入参数。每行的列将作为MyProc
的输入值。
如何在SSIS中完成此操作?高层管理人员告诉我使用SSIS,我在这件事上没有任何选择。
所以......我做了以下事情:
看起来在步骤2.1中为所有行调用了步骤3.1中的DataFlowTask
我想要的是在步骤3.1中调用DataFlowTask来为步骤2.1中的每行记录调用AS OPPOSED TO所有记录。
一旦有效,我打算ExecuteSQLTask
内的ForEachLoopContainer
。
答案 0 :(得分:7)
您只需要一个带有OLEDB源和OLE DB命令转换的数据流任务。
OLEDB源SELECT从您要在其上执行逐行存储过程的表中进行选择。
然后是OLE DB命令转换,它调用存储过程并将数据流中的列传递给存储过程的参数。
这将导致存储过程对表的每一行执行一次。您不需要初始执行SQL,也不需要For-Each循环。