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

时间:2013-09-24 10:27:39

标签: sql sql-server stored-procedures

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

enter image description here

我有另一个名为ssspAccBalanceSheet的存储过程。在这个商店程序中,我有一个声明为

的变量
Declare totalProfitAndLoss decimal(18,0)

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

Set totalProfitAndLoss = Select Sum(Amount1) from ssspAccProfitAndLoss 

提前完成了Thanxxxxx ....

1 个答案:

答案 0 :(得分:0)

如果您不想更改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