存储过程A调用存储过程B,在B中用raiserror抛出数目不定的几个错误,如何在A中捕获到所有错误?
create procedure A
as
exec B
--我希望在此截获B抛出的所有错误,并且依次写入到某个表中。
go create procedure B
as
raiserror('This is error 1', 16, 1)
raiserror('This is error 2', 16, 1)
raiserror('This is error 3', 16, 1)

解决方案 »

  1.   

    调用sp_addmessage把你的消息信息加到sysmessages表中,
    在过程中在raiserror的地方把消息号转成串相加,最后通过过程参数返回调用的过程
    过程A分析错误中串,并从sysmessages中取回消息串写到你的相应表中
      

  2.   

    听不太懂
    能否给段完整一点的代码?非常盼望!
    分可以再加,没问题!另外,procedure B中抛出的错误文本如果是一个可变的变量又怎么办呢?