如何处理 SQL 数据库中的 RAISERROR

Posted

技术标签:

【中文标题】如何处理 SQL 数据库中的 RAISERROR【英文标题】:How to Handle the RAISERROR in SQL Database 【发布时间】:2016-03-04 02:24:12 【问题描述】:

我想把下面的Error处理成一个变量,这样我就可以把它存储在一个表中

RAISERROR ('Error occurred "%s" after 10 passes.', 1, 1, @Requesterr) 

我需要从上面的命令中获取整个错误并将其存储在表中。

提前谢谢..!!

【问题讨论】:

您确定您使用的是mysql 而不是Microsoft SQL Server 使用正确的数据库。 raiseerror 在 SQL Server 中。 MySQL 使用signal 那应该是sql server...mysql是无效标签..!!!下面的答案在一定程度上有所帮助。 【参考方案1】:

您可以使用FORMATMESSAGE 格式化错误信息:

DECLARE @error_msg VARCHAR(100);
DECLARE @Requesterr VARCHAR(100) = 'incorrect path';

SET @error_msg = FORMATMESSAGE('Error occurred "%s" after 10 passes.', @Requesterr);

RAISERROR (@error_msg, 1, 1);

-- INSERT INTO error_log(message)
-- VALUE (@error_msg);

LiveDemo

【讨论】:

以上是关于如何处理 SQL 数据库中的 RAISERROR的主要内容,如果未能解决你的问题,请参考以下文章

如何处理 SQL 中的长比较

从 PHP 生成 SQL 时如何处理 SQL 表名中的特殊字符?

如何处理 k-Nearest Neighbor 算法中的重复数据点?

如何处理SQL Server事务复制中的大事务操作

核心数据:如何处理新版本?

如何处理sql数据库中的ß、ö、ä、ü等?