我有一个储存过程,返回两个select语句,我在报表中使用。 第一个select是以表格形式展示的数据,第二个是在报表头部展示的元数据,如下所示:
CREATE PROCEDURE dbo. GetReport
@Input INT
AS
BEGIN
--Get #Metadata
-- #Results = f(#Metadata) … compex calculation
SELECT * FROM #Results
SELECT * FROM #Metadata
END
由于sproc计算相当复杂,我希望为一些常用的sproc参数准备报告行作为纯数据(分别存储在PrecalcResults和PrecalcMetadata两个表中)。之后,我将直接选择预先计算的值或根据参数使用sproc进行计算。
出于维护原因,我希望使用相同的sproc计算数据,这些数据将: 1. 在报告中显示 2. 存储在PrecalcResults和PrecalcMetadata中(带有所使用的参数)
如果我有单个选择sproc,我会采用这里描述的方法: 将存储过程的结果插入临时表中 由于我有多个选择的sproc,我想采用类似上述的方法,但是使用两个表。 在.net 中,我会使用 DataSet.Tables[0] 和 DataSet.Tables[1]...,但我想在tsql中运行它,以便每日执行。
这在MS SQL中是否可行?
我必须道歉,从下面的答案中我可以看出我的表述不是很清晰。我希望实现这个功能作为纯TSQL。
NextRecordset
方法来从一个记录集移动到下一个。 - HABO