Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


D.2 条件処理の制約

SIGNALRESIGNAL、および GET DIAGNOSTICS は準備済みのステートメントとして許可されていません。たとえば、次のステートメントは無効です。

PREPARE stmt1 FROM 'SIGNAL SQLSTATE "02000"';

クラス '04'SQLSTATE 値は特別扱いされません。ほかの例外と同じように扱われます。

標準 SQL には、ネスト化された実行のコンテキストごとの診断領域を含んだ、診断領域スタックがあります。標準 SQL 構文には、スタック領域を参照するための GET STACKED DIAGNOSTICS が含まれます。MySQL では、もっとも新しく書き込んだステートメントの情報を含む単一の診断領域があるため、STACKED キーワードをサポートしません。セクション13.6.7.7「MySQL の診断領域」も参照してください。

標準 SQL では、最初の条件は、以前の SQL ステートメントに対して返される SQLSTATE 値に関連します。MySQL ではこれは保証されていないので、メインエラーを取得するために、次のようにはできません。

GET DIAGNOSTICS CONDITION 1 @errno = MYSQL_ERRNO;

代わりに次のようにします。

GET DIAGNOSTICS @cno = NUMBER;
GET DIAGNOSTICS CONDITION @cno @errno = MYSQL_ERRNO;

User Comments
Sign Up Login You must be logged in to post a comment.