602SQL-Úplná dokumentace Index  

Příkaz SIGNAL (SQL)

příkaz_SIGNAL ::= SIGNAL identifikátor_výjimky;

Příkaz SIGNAL vyvolá zadanou uživatelem definovanou výjimku. Výjimka musí být předem deklarována. Je-li deklarován handler pro tuto výjimku, handler se provede a v provádění příkazů se pokračuje v závislosti druhu handleru a místě, kde byl nalezen.

Pokud se pro zadanou výjimku nenajde handler na žádné úrovni, nastane chybový sqlstate 45000 (SQ_UNHANDLED_USER_EXCEPT).


Příklad použití:

PROCEDURE `POKUS_SIGNAL`();
BEGIN
  DECLARE vyskok CONDITION;
  DECLARE CONTINUE HANDLER FOR vyskok BEGIN 
    CALL log_write("NULL - uvnitř continue handleru");
    ...
  END;

  FOR radek AS c INSENSITIVE CURSOR FOR
   SELECT * FROM Firmy
  DO BEGIN
    IF radek.adresa IS NULL THEN SIGNAL vyskok; 
    ELSE 
      ...
      CALL log_write(radek.adresa);
    END IF;
  END;
  END FOR;

END

Viz