SIGNAL文(エラーの通知)
機能
エラーを発生させて,通知します。このとき,この時点までに診断領域へ設定していた情報をクリアします。
形式
SIGNAL 信号値 |
オペランド
UAPに返す値を指定します。
SQLSTATE値として有効な値(A~Zの大文字,及び0~9の数字の組み合わせ)を5文字で指定してください。ただし,次のHiRDBでのSQLSTATEの規則に従って値を指定してください。
SQLSTATEクラスがこれらの規則に従っていない場合,定義時にエラーとなります。SQLSTATE値のについては,「6. SQLSTATE変数」を参照してください。
条件宣言で宣言した条件名を指定してください。
条件名を指定した場合,SQLSTATEにはエラーを示す'R0000'(異常終了で暗黙的ロールバックなし)が設定されます。
条件名に対応したSQLCODE値を定義している場合,エラーとなります。
共通規則
留意事項
使用例
CREATE PROCEDURE ZAIKO_KOUSIN1(IN USCODE INT, IN USURYO INT,
OUT MSG NVARCHAR(50))
BEGIN
DECLARE illegal_value CONDITION ;
DECLARE EXIT HANDLER FOR illegal_value
SET MSG=N'数量として無効な値です。';
DECLARE EXIT HANDLER FOR NOT FOUND
SET MSG=N'指定された商品コードは登録されていません。';
IF USURYO<0 THEN
SIGNAL illegal_value;
ELSE
UPDATE ZAIKO SET ZSURYO=USURYO WHERE ZSCODE=USCODE;
SET MSG=N'更新が完了しました。';
END IF;
END
CREATE TRIGGER SIGNALTRIG
BEFORE DELETE ON ZAIKO
SIGNAL SQLSTATE '99001'