我正在开发一个SSIS 2010软件包,该软件包使用多个软件包变量来填充SQL查询的结果。我们有一个应用程序设置表,如下所示:
[ID] [settingName] [settingValue]
1 appName test app
2 scheduled yes
在软件包中,我为appName设置了变量并进行了调度,但是我很难找到从数据库加载它们的最佳方法。查询运行成功,只是一个简单的select语句,但我不知道下一步该怎么做。我已经找到了建议,说我应该在脚本任务中解析它,但似乎应该有一个更简单的方法来做到这一点。
答案 0 :(得分:1)
您的查询需要返回一行,其中包含单独列中每个变量的值:
然后将结果集列映射到变量:
简而言之,您需要转动查询。
编辑:像这样。 (减去表变量;使用实际表格)
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