【发布时间】:2011-03-29 21:31:06
【问题描述】:
我在 SQL Server 中有一个带有 try catch 的存储过程。我想在 catch 循环中做的是调用我自己的存储过程来记录所有错误变量,如下所示:
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
exec log.LogError ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_MESSAGE();
END CATCH;
当我运行它时,括号中出现错误。
我可以跑:
select ERROR_NUMBER(), ERROR_SEVERITY(), ERROR_MESSAGE();
我也可以
print ERROR_NUMBER()
我想要做的是只有一行使用参数调用存储过程,因为我将在许多存储过程中使用它并且不希望有很多代码设置错误参数(我会有更多比这三个)在我有 try-catch 的每个存储过程中。
有人知道我如何将这些传递给另一个存储过程吗?
问候, 约翰
【问题讨论】:
标签: sql tsql sql-server-2008 stored-procedures