从MySQL存储过程返回异常

时间:2012-06-11 11:46:02

标签: mysql stored-procedures exception-handling

我在我的存储过程中使用了以下异常处理程序。

DECLARE EXIT HANDLER FOR SQLEXCEPTION

Begin
      DROP TABLE temp_checkForDuplicate;
      SET outDone = -1;
End;

我在这里找到了一些特定的代码

  

例外'1062'

     

针对1062 set的DECLARE EXIT处理程序o_error_status:=“表中的重复条目”;

如果我不知道异常编号怎么办:如何处理任何异常并抛出其编号及其消息?

1 个答案:

答案 0 :(得分:0)

在5.5之前的MySQL版本中你无法真正做到这一点。

Version 5.5引入了Signals,它提供了一种返回特定错误代码或条件的机制。

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 Stored Procedure Error Handling

How to raise an error within a MySQL function