我想从外部存储过程中获取由存储过程导致的错误集合。有没有办法解决这个问题。Sql Server 2008尝试抓取错误集合
样品如下。我得到的第一个错误80125.我也想获得关于第二个80054.信息是否有SQL Server中的集合或服务器变量(我不知道如何从净得到这个)
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;工作站:企业 - 歧义错误解决 - 以下错误是由第五可能无效的参数引起
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
你的意思是2005年,如在标签中,还是2008年,如标题中所示? – 2011-04-20 20:33:01