Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
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
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.