使用单行从Execute SQL Task结果对象设置多个变量

时间:2014-06-24 14:43:29

标签: sql-server ssis

我在EXECUTE SQL TASK中有以下sql:

SELECT [CnxnStrValue1] as INT_Support_CnxnStr
,[CnxnStrValue2] as Lawson_CnxnStr
,[CnxnStrValue3] as Lawson_HRIS_CnxnStr
FROM  [dbo].[InterfaceDBCnxn] 
WHERE InterfaceName = ?

结果集设置为对象变量。我还有三个字符串变量来保存值,通常我会将它们映射到For Each Loop容器。但是,在这种情况下,我的结果集将始终只是一行,因为InterfaceName是表的主键。

什么是使用for for each container容器设置变量的最佳方法?

2 个答案:

答案 0 :(得分:2)

将结果集从Full更改为Single Row。我将此模式用于DW加载,以获取未知成员的代理键值。

enter image description here

ResultSet设置为Single row

enter image description here

根据需要映射您的参数。在这里,我有8个映射的变量

enter image description here

答案 1 :(得分:-1)

鉴于您的表格为Table且列为Column_nameColumn_name_two,您可以执行以下操作。

SELECT @yourVar = Column_name,
       @yourSecondVar = Column_name_two
FROM Table
WHERE Table_id = 1