【发布时间】:2015-09-28 06:17:21
【问题描述】:
如果我运行如下 sql 语句:
SELECT 1/0;
有没有办法捕获语句“SELECT 1/0;”在错误消息中?以下没有给我失败的SQL:
开始尝试 选择 1/0; 结束尝试 开始捕捉 选择 ERROR_NUMBER() 作为错误编号, ERROR_SEVERITY() 作为错误严重性, ERROR_STATE() 作为错误状态, ERROR_PROCEDURE() 作为错误程序, ERROR_LINE() 作为错误线, ERROR_MESSAGE() 作为错误消息; 结束捕获; 去吧
另外,我想看看是否可以避免在每个语句中使用 try catch。我有一个在 TRY 和 CATCH 语句之间执行大量 SQL 语句的 SP。我想知道 TRY ... CATCH 块中众多 SQL 语句中哪一条 SQL 语句失败了。
到目前为止,我发现的只是给出错误消息的详细信息,而不是失败的 T-SQL。
【问题讨论】:
标签: sql-server tsql error-handling