我正在尝试在SSIS中使用“执行SQL任务”来获取要存储在用户变量中的值。 文档说使用'?'作为查询中参数的占位符,但当我这样做时,我尝试解析查询时出现语法错误。 所以查询是这样的:
SELECT ? = AVG(Score) FROM Scorecards
我也尝试在'?'之后添加OUTPUT。我找到的具有输出参数的所有示例都类似于
EXEC ? = MyStoredProc param1, param2, ...
这没有任何用处,因为我没有使用存储过程。参数的使用看似相似,但为什么SSIS不会将它用于select语句?
答案 0 :(得分:2)
您需要将ResultSet属性设置为Single Row,然后将查询修改为:
select avg(score) as AvgScore from ScoreCards
然后在结果集窗格中,单击添加,将结果名称设置为AvgScore,将变量设置为变量名称(例如,User :: AvgScore)。