Cer*_*nic 5 sql t-sql stored-procedures sql-server-2005
我有一个存储过程返回两个选择,我在报告中使用.第一个选择是以表格格式显示的数据,第二个选择是要在报告头中显示的元数据,如下所示:
CREATE PROCEDURE dbo. GetReport
@Input INT
AS
BEGIN
--Get #Metadata
-- #Results = f(#Metadata) … compex calculation
SELECT * FROM #Results
SELECT * FROM #Metadata
END
Run Code Online (Sandbox Code Playgroud)
由于sproc计算非常密集,我想将报告行准备为普通数据(在两个表中:PrecalcResults和PrecalcMetadata),以便在一夜之间使用一些主要使用的sproc参数.Lather我会直接选择预先计算的vaues或根据参数用sproc计算它们.
出于维护原因,我想使用相同的sproc来计算以下数据:1.在报告中显示2.存储在PrecalcResults和PrecalcMetadata中(使用的参数)
如果我有单一选择sproc,我会在这里解决方法: 将存储过程的结果插入临时表
因为我有多选sproc我想做上面的事情,但有两个表.在.net我会做DataSet.Tables [0]和DataSet.Tables [1] ...,但我想在tsql中做,在日常工作中运行它.
这在MS SQL中甚至可能吗?
我必须自己道歉,从下面的答案我可以看出我不是很清楚.我想将此功能实现为纯TSQL.
是的,这是可能的。
正如您所建议的那样,从单个存储过程返回多个结果集是完全可以的。
您唯一的潜在问题是无法TableAdapter从存储过程中提取两个结果集,但有一个非常简单的解决方法可以解决该问题。
| 归档时间: |
|
| 查看次数: |
479 次 |
| 最近记录: |