2011-11-17 37 views
1

對於長題目標題抱歉,但我有一個存儲過程被某些業務對象調用並且工作正常。我想擴展這個存儲過程來調用一個新的存儲過程(基本上它會將一些傳入的數據插入到另一個表中),但這不起作用。我如何從兩個存儲過程中獲取錯誤輸出?調用另一個存儲過程時從存儲過程中捕獲錯誤輸出

回答

1

在proc中調用第一個proc在輸出參數中存儲錯誤代碼,在第二個proc中,返回值將是錯誤代碼,然後輸出參數將保存proc的返回值的值所謂

希望這是明確的,你可以運行

--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 

例子

相關問題