1

MySQLの手順で小さな問題に直面しています。プロシージャ内にいくつかの例外ハンドラを配置しました。ただし、プロシージャ内で発生する可能性のあるエラーのエラーコードを取得する必要があります。ある種の関数を使用して正確なエラーコードを取得する方法はありますか(同じように、ソケットAPIでWSAGetLastErrorを使用します)?

たとえば、存在しないテーブルを参照するselectクエリがプロシージャ内にあるとします。その場合、エラーが発生します(「テーブル」は存在しません)。コントロールは例外ハンドラーに転送されますが、意味のある情報はありません。この場合(1146)の正確なエラーコードを使用して処理できます。しかし、エラーが例外ハンドラーで言及されていない他の何かである場合はどうなりますか?その場合、後で確認するためにエラーコードを取得します。SHOW ERRORSクエリがありますが、処理手順でどのように使用しますか?これがもっと明確になることを願っています。

ここでも質問が見つかりました: http : //www.eggheadcafe.com/software/aspnet/35923137/show-errors-question.aspxですが、まだ誰も回答していません。

4

1 に答える 1

0

現時点では、ストアドプロシージャで現在のMYSQLエラーコードまたはSQLSTATEコードを調べる方法はありません。現在MYSQLストアドプログラムに実装されていないのはSQL:2003の機能です。

これを確認する必要があります:http: //www.docstoc.com/docs/687360/Error-Handling-In-Stored-Procedure

于 2010-12-01T14:16:25.587 に答える