动态存储过程结果到表

时间:2010-09-22 17:17:46

标签: sql-server dynamic

我有一个存储过程,可以动态生成数据结果,为行defs传递sql,将列传递给pivot,将aggregate(字段)传递给sum,以及聚合的表名。这很好用,但我需要根据这些结果生成一个表格,以便用于进一步的计算。

如何在不知道输出列的情况下将结果动态保存到存储过程(临时或非临时)中的表中?

2 个答案:

答案 0 :(得分:1)

SELECT *
INTO #TempTable
FROM (Pivot Expression)

这将创建一个#TempTable,其中包含FROM子句中的所有结果,无论列的数量/类型如何。

答案 1 :(得分:0)

你没有问,但这就是我从视图中获取一组列名的方式:

DECLARE @columns VARCHAR(1000)

SELECT @columns = COALESCE(@columns + ',[' + cast(fld as varchar) + ']',
'[' + cast(fld as varchar)+ ']')
FROM view
GROUP BY fld