MySQL 8.0 リファレンスマニュアル


13.6.8 条件処理の制約

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

PREPARE stmt1 FROM 'SIGNAL SQLSTATE "02000"';

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

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

GET DIAGNOSTICS CONDITION 1 @errno = MYSQL_ERRNO;

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

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

関連キーワード:  ステートメント, CREATE, TABLE, DROP, 制約, 条件, サブクエリー, 処理, FUNCTION, SLAVE