Sql 从存储过程(a)中的另一个存储过程(B)获取值

Sql 从存储过程(a)中的另一个存储过程(B)获取值,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我有一个存储过程ssspacprofitandloss,它返回的结果如下所示: 我有另一个名为ssspacbalancesheet的存储过程。在这个存储过程中,我有一个变量声明为 Declare totalProfitAndLoss decimal(18,0) 我想要ssspAccProfitAndLoss的Amount1列的总和,并将其设置为totalProfitAndLoss。我怎样才能做到这一点 Set totalProfitAndLoss = Select Sum(Amount1)

我有一个存储过程ssspacprofitandloss,它返回的结果如下所示:

我有另一个名为ssspacbalancesheet的存储过程。在这个存储过程中,我有一个变量声明为

Declare totalProfitAndLoss decimal(18,0)
我想要ssspAccProfitAndLoss的Amount1列的总和,并将其设置为totalProfitAndLoss。我怎样才能做到这一点

Set totalProfitAndLoss = Select Sum(Amount1) from ssspAccProfitAndLoss 

Thanxxxxx提前…

如果您不想更改ssspAccProfitAndLoss过程,您可能需要使用变量表-如果ssspAccProfitAndLoss是短时间运行的SP,则可能无法接受

declare @totalProfitAndLoss decimal(18,0); --I'd go for BIGINT here unless you're sure you need 18 digits
declare @resultTable table (
    Particular varchar(100),
    Amount decimal(18,0),
    Particular2 varchar(100),
    Amount2 decimal(18,0));
insert into @resultTable exec ssspAccProfitAndLoss
select @totalProfitAndLoss = sum(Amount1) from @resultTable

为什么不考虑在
ssspacprofitandloss
中使用
输出参数
。它包含
Amount1
Yeaaa的总和,我使用了它,但我的c#项目使用的是edmx模型,如果使用输出参数,我就无法调用存储过程。它接受System.Data.Objects.ObjectParameter,我不知道如何创建一个并将其传递到StoredProcess