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::
Syntax¶
RAISE <exception_name> ;
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;
$$
;
Hier ist der Aufruf der gespeicherten Prozedur, die die Ausnahme auslöst:
CALL thrower();
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.');
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.