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 Raising the same exception again in an exception handler in Snowflake Scripting.

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

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.

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