CALL¶
Ruft eine gespeicherte Prozedur auf.
- Siehe auch:
Syntax¶
Erforderliche Parameter¶
procedure_name ( [ [ arg_name => ] arg , ... ] )Gibt den Bezeichner (
procedure_name) für die aufzurufende Prozedur sowie alle Eingabeargumente an.Sie können die Eingabeargumente entweder über den Namen (
arg_name => arg) oder über die Position (arg) angeben.Bemerkung
Sie müssen alle Argumente entweder über den Namen oder über die Position angeben. Sie können nicht einige der Argumente über den Namen und andere Argumente über die Position angeben.
When you specify an argument by name, you can’t use double quotes around the argument name.
If two procedures have the same name but different argument types, you can use the argument names to specify which procedure to execute, if the argument names are different. For more information, see Überladen von Prozeduren und Funktionen.
Optionale Parameter¶
INTO :snowflake_scripting_variableSetzt die angegebene Snowflake Scripting-Variable auf den Rückgabewert der gespeicherten Prozedur.
Beispiele¶
Ausführlichere Beispiele zum Erstellen und Aufrufen gespeicherter Prozeduren finden Sie unter Verwenden von gespeicherten Prozeduren.
Jedes Argument für eine gespeicherte Prozedur kann ein allgemeiner Ausdruck sein:
Ein Argument kann eine Unterabfrage sein:
Sie können nur eine gespeicherte Prozedur pro CALL-Anweisung aufrufen. Zum Beispiel schlägt die folgende Aussagen fehl:
Außerdem können Sie den CALL einer gespeicherten Prozedur nicht als Teil eines Ausdrucks verwenden. Beispielsweise schlagen alle folgenden Anweisungen fehl:
Innerhalb einer gespeicherten Prozedur kann die gespeicherte Prozedur jedoch eine andere gespeicherte Prozedur aufrufen oder sich selbst rekursiv aufrufen.
Vorsicht
Verschachtelte Aufrufe können die maximal zulässige Stapeltiefe überschreiten. Seien Sie daher vorsichtig, wenn Sie Aufrufe verschachteln, insbesondere bei Gebrauch der Rekursion.
Im folgenden Beispiel wird eine gespeicherte Prozedur mit dem Namen sv_proc1 aufgerufen, die dabei ein Zeichenfolgenliteral und eine Zahl als Eingabeargumente übergibt: Im Beispiel werden die Argumente über die Position übergeben:
Sie können die Argumente auch über den Namen übergeben:
Das folgende Beispiel zeigt, wie eine Sitzungsvariable als Eingabeargument festgelegt und an eine gespeicherte Prozedur übergeben wird:
Das folgende Beispiel zeigt einen Snowflake Scripting-Block, der den Rückgabewert einer gespeicherten Prozedur in einer Snowflake Scripting-Variablen speichert.
Note: If you use Snowflake CLI, SnowSQL, the Classic Console, or the
execute_stream or execute_string method in Python Connector
code, use this example instead (see Using Snowflake Scripting in Snowflake CLI, SnowSQL, and Python Connector):