在SQL Server(2010)中是否有一种简单的方法来执行存储过程(返回一个表)并在一个(或几个)语句中对一列进行求和?
例如
SELECT SUM(column) FROM exec proc_GetSomeStuff 'param1', 'param2'
答案 0 :(得分:5)
没有便于测试的服务器,但试试这个:
declare @temp table(col1 int)
insert into @temp(col1)
exec proc_GetSomeStuff 'param1', 'param2'
select sum(col1) from @temp
确保表变量(或临时表)与存储过程的结果具有相同的模式。如果您知道从SP回来会有大量行,那么临时表可能是更好的选择。 (如果表变量太大,我不确定是否可以将表变量刷新到磁盘上)