我有一個存儲過程返回兩個選擇,我在報告中使用。 第一個選擇是數據以表格格式和所述第二顯示被元數據報告頭進行顯示,象下面顯示:如何選擇[臨時表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