RAISE

Gera uma exceção.

Para obter mais informações sobre exceções, consulte Tratamento de exceções.

Consulte também

EXCEPTION

Sintaxe

RAISE <exception_name> ;

Onde:

exception_name

O nome da exceção a ser gerada.

Se você estiver lidando com uma exceção em um manipulador de exceção e quiser gerar a mesma exceção novamente, omita este argumento. Consulte Gerar novamente a mesma exceção em um manipulador de exceções.

Exemplos

Isso gera (mas não captura) uma simples exceção:

CREATE PROCEDURE thrower()
RETURNS VARCHAR
LANGUAGE SQL
AS
$$
    DECLARE
        MY_EXCEPTION EXCEPTION;
    BEGIN
        RAISE MY_EXCEPTION;
    END;
$$
;

Aqui está a chamada para o procedimento armazenado que gera a exceção:

CALL thrower();

Aqui está o resultado da execução do procedimento armazenado que gera a exceção:

-20000 (P0001): Uncaught exception of type 'MY_EXCEPTION' on line 5 at position 8

O próximo exemplo é semelhante ao exemplo anterior, mas utiliza uma exceção para a qual o usuário definiu um número de exceção e uma mensagem de exceção personalizados:

    DECLARE
        MY_EXCEPTION EXCEPTION (-20002, 'Raised MY_EXCEPTION.');

Aqui está o resultado da execução do procedimento armazenado que gera a exceção:

-20002 (P0001): Uncaught exception of type 'MY_EXCEPTION' on line 7 at position 8 : Raised MY_EXCEPTION.

Para obter mais exemplos, consulte os exemplos de como lidar com uma exceção.