Я один комплекс хранимую процедуру, которая возвращает несколько строк с некоторыми расчетными значениямиПолучение резюме результатов из другой хранимой процедуры
SELECT CalculatedField1 ,
CalculatedField2 ,
...
FROM ...
WHERE CONDITION
это sproc (позволяет называть его проца) возвращает переменное число строк, в зависимости от того, куда состояние. Это прекрасно работает. Теперь мне нужно написать хранимую процедуру, которая получит сводку этих возвращенных строк.
-- procB
SELECT SUM(CalculatedField1),
SELECT SUM(CalculatedField2),
...
FROM (EXEC procA params)
Возможно ли это?
Редактировать: создание временной таблицы выполнило эту работу, однако у меня проблемы с передачей выходных паретов.
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
Результаты Темп таблицы в порядке, ResultSet извлекается правильно, однако значение @pem еще NULL.
У меня проблема с выходными параметрами. См. Обновление в вопросе. – Goran