0

ここ数日、MySQL を学んでいます。以前は、PostgreSQL で開発を行っていました。たぶん、私は何かを見逃していて、適切なチュートリアルや質問を SO で見つけることができなかったのかもしれません。これが重複している場合は、お気軽にリンクを張ってください。

私の質問は次のとおりです。
-これは私の手順か​​ら直接コピーされた PostgreSQL で書かれています。(文字列は気にしないでください)。

EXCEPTION
    WHEN OTHERS THEN
        RAISE EXCEPTION 'app_get_rpt_doctor_signature_all(text) %',
            'OTHERS ' || SQLERRM;
4

1 に答える 1

1

例外をキャッチすることができDECLARE ... HANDLERます。また、MySQL v5.5 以降では、独自の例外を発生させSIGNALたりRESIGNAL、既存の例外を渡したりすることができます。これらのステートメント内でSET MESSAGE_TEXT、カスタム メッセージを指定できますが、残念ながら、既存の (処理された) 例外のメッセージ テキストにアクセスすることはできません。

したがって、次のことができます。

DECLARE EXIT HANDLER FOR SQLEXCEPTION
  SIGNAL SQLSTATE '45000'
  SET MESSAGE_TEXT := 'app_get_rpt_doctor_signature_all(text) OTHERS'
;

またはRESIGNAL、メッセージを変更せずに:

DECLARE EXIT HANDLER FOR SQLEXCEPTION
  RESIGNAL SQLSTATE '45000'
;
于 2013-05-29T07:49:36.000 に答える