【问题标题】:Capture the error output from a stored procedure when calling another stored procedure在调用另一个存储过程时捕获存储过程的错误输出
【发布时间】:2011-11-17 17:12:30
【问题描述】:

很抱歉问题标题太长,但我有一个存储过程,它正在被一些业务对象调用,它工作正常。我想扩展这个存储过程来调用一个新的存储过程(基本上它会将一些传入的数据插入到另一个表中),但这不起作用。如何从两个存储过程中获取错误输出?

【问题讨论】:

    标签: sql-server-2008 stored-procedures


    【解决方案1】:

    在调用第一个过程的过程中,将错误代码存储在输出参数中,在第二个过程中,返回将是错误代码,然后输出参数将保存它调用的过程的返回值的值

    希望这很清楚

    你可以运行的例子

    --first proc
    create proc prtest
    as
    return @@error
    go
    
    --2nd proc, which calls the 1st
    create proc prtest2 @error int output
    as
    exec @error = prtest
    return @@error
    go
    
    --call 2nd proc and show both statuses
    declare @iReturn int, @iOutput int
    exec @iReturn = prtest2 @error = @iOutput output
    
    select @iReturn,@iOutput
    

    【讨论】:

      猜你喜欢
      • 2020-03-09
      • 2021-01-26
      • 2014-09-17
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多