我希望这不仅仅是重复this question。
我已经阅读了文档,但我认为我还没有完全理解如何正确使用它。
我想捕获存储过程中抛出的错误并将这些错误记录在表中。这主要是出于实验目的。我想知道有没有办法捕获任何错误,然后将代码和错误记录到表。
到目前为止,看起来我必须为每个错误声明一个不同的处理程序。这是正确的还是有办法捕获所有错误并获取代码和消息。
例如,在每个存储过程中,我都声明了几个处理程序
DECLARE EXIT HANDLER FOR 1062
BEGIN
SELECT 'Attempt to create a duplicate entry occurred';
END;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
SELECT 'Unexpected Error Ocurred';
END;
而不是
SELECT 'custom message';
我想做
INSERT INTO errorLogs(code, message);
这可以在不声明处理程序负载并手动添加每个代码的情况下实现吗?
非常感谢帮助我指明正确方向的任何帮助。