如何处理 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的主要内容,如果未能解决你的问题,请参考以下文章
从 PHP 生成 SQL 时如何处理 SQL 表名中的特殊字符?