(OLE DB)执行SQL任务 - 使用输出参数

时间:2011-03-25 21:52:10

标签: sql tsql ssis oledb

我正在尝试在SSIS中使用“执行SQL任务”来获取要存储在用户变量中的值。 文档说使用'?'作为查询中参数的占位符,但当我这样做时,我尝试解析查询时出现语法错误。 所以查询是这样的:

SELECT ? = AVG(Score) FROM Scorecards

我也尝试在'?'之后添加OUTPUT。我找到的具有输出参数的所有示例都类似于

EXEC ? = MyStoredProc param1, param2, ...

这没有任何用处,因为我没有使用存储过程。参数的使用看似相似,但为什么SSIS不会将它用于select语句?

1 个答案:

答案 0 :(得分:2)

您需要将ResultSet属性设置为Single Row,然后将查询修改为:

select avg(score) as AvgScore from ScoreCards

然后在结果集窗格中,单击添加,将结果名称设置为AvgScore,将变量设置为变量名称(例如,User :: AvgScore)。