【发布时间】:2008-11-28 16:53:58
【问题描述】:
我在每个存储过程的末尾都有我在网上找到的这段代码:
ROLLBACK TRANSACTION
PRINT '-----START: ERROR DETAILS-----'
PRINT ERROR_NUMBER()
PRINT ERROR_SEVERITY()
PRINT ERROR_STATE()
PRINT ERROR_PROCEDURE()
PRINT ERROR_LINE()
PRINT ERROR_MESSAGE()
PRINT '-----END: ERROR DETAILS-----'
DECLARE @prmErrmsg NVARCHAR(4000);
DECLARE @prmErrSvr INT;
SELECT @prmErrmsg = ERROR_MESSAGE()
,@prmErrSvr = ERROR_SEVERITY();
INSERT INTO dbo.myErrors
([ErrorMessage]
,[ErrorSeverity]
,[DateCreated])
VALUES
(@prmErrmsg
,@prmErrSvr
,GetutcDate())
RAISERROR(@prmErrmsg,@prmErrSvr,1)
它正在向 myErrors 表写入条目,但它没有写入错误消息或错误严重性。
我的第一个问题是为什么?
我认为这与错误严重程度在一定范围内有关。
我如何告诉它总是记录详细的错误消息,无论严重程度如何?
【问题讨论】:
标签: sql tsql stored-procedures