我在存储过程中使用以下异常处理程序。
DECLARE EXIT HANDLER FOR SQLEXCEPTION
Begin
DROP TABLE temp_checkForDuplicate;
SET outDone = -1;
End;
在这里我找到了一些特定的代码
exception '1062'
DECLARE EXIT handler for 1062 set o_error_status := "Duplicate entry in table";
如果我不知道异常编号怎么办:如何处理任何异常并抛出它的编号和消息?
最佳答案
在 5.5 之前的 MySQL 版本中,你不能真正做到这一点。
5.5 版引入了信号,它提供了一种返回特定错误代码或条件的机制。
http://dev.mysql.com/doc/refman/5.5/en/signal.html
5.6 版添加了“获取诊断”,可提供您需要的信息。
http://dev.mysql.com/doc/refman/5.6/en/get-diagnostics.html
您还可以在这些 SO 问题中找到相关信息。
关于mysql - 从 MySQL 存储过程返回异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10979443/