SSIS - 从查询结果中设置多个包变量

时间:2014-05-21 16:56:01

标签: sql sql-server ssis

我正在开发一个SSIS 2010软件包,该软件包使用多个软件包变量来填充SQL查询的结果。我们有一个应用程序设置表,如下所示:

[ID]     [settingName]     [settingValue]
 1           appName           test app
 2         scheduled             yes

在软件包中,我为appName设置了变量并进行了调度,但是我很难找到从数据库加载它们的最佳方法。查询运行成功,只是一个简单的select语句,但我不知道下一步该怎么做。我已经找到了建议,说我应该在脚本任务中解析它,但似乎应该有一个更简单的方法来做到这一点。

1 个答案:

答案 0 :(得分:1)

您的查询需要返回一行,其中包含单独列中每个变量的值: enter image description here

然后将结果集列映射到变量: enter image description here

简而言之,您需要转动查询。

编辑:像这样。 (减去表变量;使用实际表格)

declare @pivot table (settingname varchar(20), settingvalue varchar(20))
insert into @pivot
values
('appname','test app'),
('scheduled','yes')

SELECT *
FROM (
SELECT settingname, settingvalue from @pivot
) as source
pivot
(
 max(settingvalue)
 for settingname in ([appname],[scheduled])
)
as pvt