我已經與某些計算值獲得的結果的彙總從另一個存儲過程
SELECT CalculatedField1 ,
CalculatedField2 ,
...
FROM ...
WHERE CONDITION
這個存儲過程返回一些行一個複雜的存儲過程(可以稱之爲PROCA)返回可變數量的行,這取決於WHERE條件。這工作正常。我現在需要做的是編寫一個存儲過程,以獲得這些返回行的摘要。
-- procB
SELECT SUM(CalculatedField1),
SELECT SUM(CalculatedField2),
...
FROM (EXEC procA params)
這可能嗎?
編輯:創建臨時表做了這項工作,但我有傳遞輸出pareters的問題。
CREATE PROCEDURE [dbo].[sprocB] (@prm INT = NULL OUTPUT)
AS
BEGIN
SET NOCOUNT ON;
SET @prm = 1
SELECT Id FROM dbo.AnyTable
END
CREATE PROCEDURE [dbo].[sprocA] (@prm INT = NULL OUTPUT)
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE #temp (Id INT)
INSERT INTO #temp
EXEC sprocB @prm
SELECT Id FROM #temp
END
要執行:
USE [MyDatabase]
GO
DECLARE @return_value int,
@prm int
EXEC @return_value = [dbo].[sprocA]
@prm = @prm OUTPUT
SELECT @prm as N'@prm'
SELECT 'Return Value' = @return_value
GO
從臨時表中的結果是OK,結果集正確檢索,但是@pem值仍然是NULL。
我有一個輸出參數的問題。查看問題中的更新。 – Goran