使用FullResultSet并在Result Set配置中将表行存储在variableName中: - User :: Result ResultName:0
删除一个执行SQL任务并在运行中创建一个表
IF OBJECT_ID('myOrders') IS not NULL
drop table myOrders
Create table myOrders
(OrderID int,
CustomerID varchar(50)
)
合并来自Execute sql任务的2个流并将其连接到Foreach循环
拖动foreach循环 . 在集合中使用枚举器类型作为Foreach ADO枚举器在枚举器配置中选择user :: Result变量,它存储执行sql任务的前10行并选择单选按钮" Rows in the first table"在变量映射中,映射列变量u已在第一步中创建,索引将为0表示第一列,1表示第二列
在foreach循环中拖动执行sql任务并编写以下查询:
Insert into myOrders( OrderID,CustomerID)
values
(?,?)
在execute sql task中使用参数映射配置映射参数
VariableName : OrderID Direction : Input DataType=Long ParamterName=0
VariableName : CustomerID Direction : Input DataType=varchar ParamterName=1
2 回答
从Northwind取的例子
创建变量(在变量集合中),表示将在运行时创建的表中的列示例: -
然后你需要创建执行SQL任务并编写以下查询来选择前10行
使用FullResultSet并在Result Set配置中将表行存储在variableName中: - User :: Result ResultName:0
删除一个执行SQL任务并在运行中创建一个表
合并来自Execute sql任务的2个流并将其连接到Foreach循环
拖动foreach循环 . 在集合中使用枚举器类型作为Foreach ADO枚举器在枚举器配置中选择user :: Result变量,它存储执行sql任务的前10行并选择单选按钮" Rows in the first table"在变量映射中,映射列变量u已在第一步中创建,索引将为0表示第一列,1表示第二列
在foreach循环中拖动执行sql任务并编写以下查询:
在execute sql task中使用参数映射配置映射参数
我希望你在“学习模式”上这样做 . 没有理由在数据流的控制流上执行此操作 .
无论如何,你的打印屏幕是正确的,我只是在开始时添加另一个执行sql任务来创建你的目标表 .
然后,执行sql任务应该有查询带来你想要的10行,它的结果集应该设置为“完整结果集”,在结果集选项卡上你应该将结果集映射到这样的变量:
并配置你的foreach循环容器,如下所示:
在foreach的每个循环上,您将可以访问变量的值,然后您可以使用另一个execute sql任务在新的crated表上插入