sql - 如何从另一个存储过程调用具有两个 OUTPUT 参数的存储过程

标签 sql sql-server

抱歉,如果之前有人问过这个问题,但我找不到任何对我有用的东西。

我有一个有两个 OUTPUT 参数的存储过程:

CREATE PROCEDURE dbo.xxx
    .
    .
    .
    @param1 INT OUTPUT,
    @param2 INT OUTPUT 
AS

我想从另一个存储过程调用它。

当有一个 OUTPUT 参数时,我知道该怎么做,但我不知道如何调用它,所以我也得到了第二个参数的值。有任何想法吗?

提前致谢 :)

最佳答案

这是一种方法:

具有两个输出参数的示例程序

CREATE PROCEDURE SumAndMultiply
(
    @In int,
    @OutSum int output,
    @OutMultiply int output
)
AS

    SELECT  @OutSum = @In + @In,
            @OutMultiply = @In * @In

GO

执行第一个程序的示例程序:
CREATE PROCEDURE executeSumAndMultiply
(
    @In int
)
AS

DECLARE @Out1 int, 
        @Out2 int

EXEC SumAndMultiply @In = @In, @OutSum = @Out1 OUTPUT, @OutMultiply = @Out2 OUTPUT

SELECT @Out1 As Out1, @Out2 As Out2

GO

执行第二个程序:
EXEC executeSumAndMultiply 3

结果:
Out1    Out2
6        9

See a live demo on rextester

关于sql - 如何从另一个存储过程调用具有两个 OUTPUT 参数的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49029333/

相关文章:

mysql - 为什么我的计数函数仅适用于某些表?

sql - 如果根据oracle中的出生日期列年龄列为空,如何更新年龄列?

sql - 如何合并行?

sql-server - Sql Server - 修复错误错误 : 18456, 严重性 : 14, 状态:11

sql-server - 执行流程任务无法在作业中执行 Rust 脚本

python - 使用 SQLAlchemy 中的多个表的列返回查询

mysql - 使用查询避免 MySql 循环

sql-server - Visual Studio 2015 Update 2 和 Sql Server 2016 架构比较

sql - 在 SQL Server 中将星期一的数据与之前星期一的数据进行比较

sql - 计算 SQL 中选定 ID 的列总和