我有一个存储过程,它返回两个选择,我在报告中使用。第一个选择是以表格格式显示的数据,第二个是要显示在报表头中的元数据,如下所示:
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 中(使用使用的参数)
如果我有单个选择存储过程,我会在这里描述一种方法: 将存储过程的结果插入临时表
由于我有 multiselect sproc,我想做类似上面的事情,但有两个表。在 .net 中我会执行 DataSet.Tables[0] 和 DataSet.Tables[1]...,但我想在 tsql 中执行它,以便在日常工作中运行它。
这在 MS SQL 中是否可行?
我不得不向自己道歉,从下面的答案中我可以看出我不是很清楚。我想将此功能实现为纯 TSQL。