RAISE (Snowflake Scripting)

Löst eine Ausnahme aus.

Weitere Informationen zu Ausnahmen finden Sie unter Behandeln von Ausnahmen.

Bemerkung

Dieses Snowflake Scripting-Konstrukt ist nur innerhalb eines Snowflake Scripting-Blocks gültig.

Siehe auch::

EXCEPTION

Syntax

RAISE <exception_name> ;
Copy

Wobei:

exception_name

Der Name der Ausnahme, die ausgelöst werden soll.

Wenn Sie eine Ausnahme in einem Ausnahme-Handler behandeln und dieselbe Ausnahme erneut auslösen müssen, lassen Sie dieses Argument weg. Siehe Erneutes Auslösen derselben Ausnahme in einem Ausnahme-Handler.

Beispiele

Dadurch wird eine einfache Ausnahme erstellt und ausgelöst (aber nicht abgefangen):

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

Hier ist der Aufruf der gespeicherten Prozedur, die die Ausnahme auslöst:

CALL thrower();
Copy

Hier ist die Ausgabe der Ausführung der gespeicherten Prozedur, die die Ausnahme auslöst:

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

Das nächste Beispiel ähnelt dem vorangegangenen Beispiel, verwendet aber eine Ausnahme, für die der Benutzer eine kundenspezifische Ausnahmenummer und Ausnahmemeldung definiert hat:

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

Hier ist die Ausgabe der Ausführung der gespeicherten Prozedur, die die Ausnahme auslöst:

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

Weitere Beispiele finden Sie in den Beispielen für die Behandlung einer Ausnahme.