外部ストアドプロシージャからストアドプロシージャに起因するエラーのコレクションを取得したいと考えています。それを得る方法はありますか?Sql Server 2008キャッチエラーコレクション
サンプルは以下のとおりです。私は、SQL Serverのコレクションまたはサーバー変数があり、私も1秒80054.に関する情報を取得したいと思い、最初のエラー80125.を得る
BEGIN TRY
DECLARE @RC int
EXEC @RC= TestErrorProc
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState ,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine ,ERROR_MESSAGE() AS ErrorMessage
END CATCH
(私はネットからこれを取得する方法を知っています)
- 以下を指定します。 80125 15 1 TestErrorProc 11データベースカスタムエラー:手順:PROCEDURENAME;ユーザー:dbo;ワークステーション:VENTURE - あいまいなエラーの解決は - 次のエラーが第五潜在的に不正なパラメータによって引き起こされた
これは、より多くのコードなしでは不可能である
CREATE PROCEDURE [dbo].[TestErrorProc]
AS
DECLARE @intErr int, @intRows int, @strUser varchar(64), @strWks varchar(64)
DECLARE @strTraceMsg varchar(255)
DECLARE @intRet int
SELECT @strUser = USER_NAME(), @strWks = HOST_NAME()
SET @strTraceMsg = ' Row 1'
BEGIN
--Ambiguous Testing
RAISERROR(80125, 15, 1, 'PROCEDURENAME', @strUser, @strWks, 'TABLENAME-Column information')
RAISERROR(80054, 15, 1, 'PROCEDURENAME', @strUser, @strWks, @strTraceMsg, 'Issue details - business Error')
RETURN(-100)
END
タイトルのように、タグや2008のように2005年を意味しますか? –