SQL 構文リファレンス : SIGNAL
 
このページをシェアする                  
SIGNAL
備考
SIGNAL ステートメントを使って、例外または正常終了以外の終了条件を通知することができます。
SQLSTATE 値を通知すると、SQLSTATE が特定の値に設定されます。その後、この値はユーザーに返されるか、呼び出し元プロシージャで SQLSTATE 値を介して使用できるようになります。この値は、プロシージャを呼び出しているアプリケーションで使用できます。
SQLSTATE 値と一緒にエラー メッセージを指定することもできます。
メモ: SIGNAL はストアド プロシージャまたはユーザー定義関数の内部でのみ使用できます。
構文
SIGNAL SQLSTATE値[, エラー メッセージ]
 
SQLSTATE値 ::= ユーザー定義値
 
エラー メッセージ ::= ユーザー定義メッセージ
次の例では、SQLSTATE の初期値 "00000" を出力し、通知された後に "SQLSTATE 例外を受け取りました" を出力します。最後に出力される SQLSTATE は "W9001" になります。
CREATE PROCEDURE GenerateSignal();
BEGIN
SIGNAL 'W9001';
END;
 
CREATE PROCEDURE TestSignal() WITH DEFAULT HANDLER;
BEGIN
PRINT SQLSTATE;
CALL GenerateSignal();
IF SQLSTATE <> '00000' THEN
PRINT 'SQLSTATE 例外を受け取りました';
END IF;
PRINT SQLSTATE;
END;
============ 
CREATE PROCEDURE GenerateSignalWithErrorMsg();
BEGIN
SIGNAL 'W9001', '構文が不正です;
END;
CALL GenerateSignalWithErrorMsg()
関連項目
CREATE PROCEDURE