3

ストアド プロシージャで次の例外ハンドラを使用しています。

DECLARE EXIT HANDLER FOR SQLEXCEPTION
    
Begin
      DROP TABLE temp_checkForDuplicate;
      SET outDone = -1;
End;

ここで、特定のコードを見つけました

例外 '1062'

1062 の DECLARE EXIT ハンドラー set o_error_status := "テーブル内のエントリが重複しています";

例外番号がわからない場合: 例外を処理し、その番号とメッセージをスローする方法は?

4

1 に答える 1

0

5.5 より前のバージョンの MySQL では、実際にはこれを行うことはできません。

バージョン 5.5 では、特定のエラー コードまたは状態を返すメカニズムを提供するシグナルが導入されました。

http://dev.mysql.com/doc/refman/5.5/en/signal.html

バージョン 5.6 では、必要な情報を提供する「Get Diagnostics」が追加されました。

http://dev.mysql.com/doc/refman/5.6/en/get-diagnostics.html

これらの SO 質問にも関連情報があります。

MySQL ストアド プロシージャのエラー処理

MySQL 関数内でエラーを発生させる方法

于 2013-02-05T18:38:01.060 に答える