Instrução THROW

A instrução THROW gera uma exceção do usuário que causa a reversão da transação.

Sintaxe

SEVERITY é uma cláusula opcional que determina a gravidade associada à exceção. A cláusula pode conter qualquer expressão que retorna um valor inteiro, não-NULL. Se a cláusula for omitida, será assumido o padrão 1.

CATALOG é uma cláusula opcional e se este valor for omitido, será assumido como padrão o catálogo da versão do .

MESSAGE é uma cláusula opcional e se este valor for omitido, será assumido como padrão o primeiro número de mensagem do bloco de mensagens fornecido para a utilização de instruções THROW no catálogo do (2949). Se um número da mensagem na instrução THROW for digitado, é possível utilizar os números de mensagem de 2949 a 2999. Como alternativa, você pode gerar seu próprio catálogo.

Utilize o campo VALUES opcional para inserir dados em sua mensagem. Você pode inserir qualquer número de partes de informações, mas as mensagens fornecidas (2949 - 2999) fornecem apenas oito inserções. Para obter informações sobre SQLSTATE e SQLCODE, consulte Funções de Estado de Banco de Dados ESQL.

Exemplos

Aqui estão alguns exemplos de como você pode utilizar uma instrução THROW:
  • THROW USER EXCEPTION; 
    Isto significa que não existem inserções.
  • THROW USER EXCEPTION CATALOG 'WMQIv210' MESSAGE 2949
    VALUES(1,2,3,4,5,6,7,8) ;
  • THROW USER EXCEPTION CATALOG 'WMQIv210' MESSAGE 2949 VALUES('The SQL
    State: ',
            SQLSTATE, 'The SQL Code: ', SQLCODE, 'The SQLNATIVEERROR: ',
    SQLNATIVEERROR,
            'The SQL Error Text: ', SQLERRORTEXT ) ;
  • THROW USER EXCEPTION CATALOG 'WMQIv210' MESSAGE 2949 ;
  • THROW USER EXCEPTION CATALOG 'MyCatalog' MESSAGE 1234 VALUES('Hello
    World') ;

Você pode utilizar a instrução THROW a qualquer momento: não é necessário utilizar indicadores de estados do banco de dados.

Para informações adicionais sobre como emitir uma exceção e detalhes de SQLSTATE, SQLCODE, SQLNATIVEERROR e SQLERRORTEXT, consulte Funções de Estado de Banco de Dados ESQL.

Conceitos relacionados
ESQL

Tarefas relacionadas
Desenvolvendo ESQL
Lançando uma Exceção

Referências relacionadas
Preferência de Sintaxe
instruções ESQL
Funções de Estado de Banco de Dados ESQL