我有一个存储过程返回两个选择,我在报告中使用。 第一个选择是数据以表格格式和所述第二显示被元数据报告头进行显示,象下面显示:如何选择[临时表1] = [子选择1],[临时表2] = [子选择2] FROM [存储过程]
CREATE PROCEDURE dbo. GetReport
@Input INT
AS
BEGIN
--Get #Metadata
-- #Results = f(#Metadata) … compex calculation
SELECT * FROM #Results
SELECT * FROM #Metadata
END
作为存储过程的计算是相当密集的,我想准备报告线作为普通数据(在两个表中:PrecalcResults和PrecalcMetadata),用于一些通常使用的sproc参数。 我会直接选择预先计算的vaues或根据参数用sproc来计算它们。
出于维护原因,我想用相同的存储过程来计算,这将是数据: 1.显示在 2被存储在PrecalcResults和PrecalcMetadata(与所使用的参数)的报告
如果我将有单选择存根我会采取一种方式desctibed在这里: Insert results of a stored procedure into a temporary table
由于我有多选择存根,我想要做类似上面,但有两个表。 在.net中,我会做DataSet.Tables [0]和DataSet.Tables [1] ...,但我想在tsql中执行它,在日常工作中运行它。
这甚至可能在MS SQL?
我必须自我道歉,从下面的答案我可以看到我不是很清楚。 我希望将这个功能作为纯粹的TSQL来实现。
尝试搜索“多个活动的记录集”(又名MARS)。您需要使用“NextRecordset”方法从一个记录集移动到下一个记录集。 – HABO 2012-04-12 19:46:04