Condividi tramite


Istruzione "SIGNAL"

Si applica a:contrassegnato sì Databricks SQL contrassegnato sì Databricks Runtime 16.3 e versioni successive

Importante

Questa funzionalità si trova in anteprima pubblica.

Genera una condizione.

Questa istruzione può essere usata solo all'interno di un'istruzione composta .

Nota: Databricks consiglia di usare RESIGNAL per generare condizioni dall'interno di un gestore. RESIGNAL compila uno stack di diagnostica nello standard SQL, mentre SIGNAL cancella lo stack. L'uso di RESIGNAL all'interno di un gestore mantiene lo sfruttamento futuro dello stack di diagnostica.

Sintassi

SIGNAL { condition_name
         [ SET { MESSAGE_ARGUMENTS = argument_map |
                 MESSAGE_TEXT = message_str } ] |
         SQLSTATE [VALUE] sqlstate [ SET MESSAGE_TEXT = message_str ] }

Parametri

  • nome_condizione

    Nome di una condizione definita localmente o di una condizione di errore definita dal sistema.

  • argument_map

    Facoltativamente, un valore letterale MAP<STRING, STRING> che assegna valori a un messaggio di condizione con parametri definito dal sistema.

  • message_str

    Facoltativamente, un valore letterale STRING che fornisce una stringa di messaggio alla condizione SQLSTATE generata o definita dall'utente.

  • sqlstate

    Valore STRING letterale di lunghezza 5. Se specificato, sollevare USER_RAISED_EXCEPTION con il SQLSTATEspecificato.

Esempi

> DECLARE input INT DEFAULT 5;

> BEGIN
    DECLARE arg_map MAP<STRING, STRING>;
    IF input > 4 THEN
      SET arg_map = map('errorMessage',
                        'Input must be <= 4.');
      SIGNAL USER_RAISED_EXCEPTION
        SET MESSAGE_ARGUMENTS = arg_map;
    END IF;
  END;