Zurückgeben eines Wertes

Um einen Wert zurückzugeben, verwenden Sie den Befehl RETURN. Sie können einen Wert aus den folgenden Elementen zurückgeben:

Bemerkung

Snowflake Scripting-UDFs befinden sich in der Vorschau.

Typen von Rückgabewerten

Es können nur Werte mit einem der folgenden Typen zurückgeben werden:

  • Eine Tabelle

    Verwenden Sie TABLE(...) in der RETURN-Anweisung.

    Wenn sich Ihr Block in einer gespeicherten Prozedur befindet, müssen Sie in der CREATE PROCEDURE-Anweisung auch die RETURNS TABLE(...)-Klausel angeben.

    Bemerkung

    Derzeit können Sie in der RETURNS TABLE(...)-Klausel den Datentyp GEOGRAPHY als Spaltentyp angeben. Dies gilt unabhängig davon, ob Sie eine gespeicherte oder eine anonyme Prozedur erstellen.

    CREATE OR REPLACE PROCEDURE test_return_geography_table_1() RETURNS TABLE(g GEOGRAPHY) ... 
    Copy
    WITH test_return_geography_table_1() AS PROCEDURE RETURNS TABLE(g GEOGRAPHY) ... CALL test_return_geography_table_1(); 
    Copy

    Wenn Sie versuchen, GEOGRAPHY als Spaltentyp anzugeben, führt der Aufruf der gespeicherten Prozedur zu einem Fehler:

    Stored procedure execution error: data type of returned table does not match expected returned table type 
    Copy

    Um dieses Problem zu umgehen, können Sie die Spaltenargumente und -typen in RETURNS TABLE() weglassen.

    CREATE OR REPLACE PROCEDURE test_return_geography_table_1() RETURNS TABLE() ... 
    Copy
    WITH test_return_geography_table_1() AS PROCEDURE RETURNS TABLE() ... CALL test_return_geography_table_1(); 
    Copy

    Wenn Sie die Daten zurückgeben möchten, auf die ein RESULTSET zeigt, übergeben Sie RESULTSET an TABLE(...), wie im folgenden Beispiel gezeigt:

    CREATE PROCEDURE ... RETURNS TABLE(...) ... RETURN TABLE(my_result_set); ... 
    Copy

    Siehe Zurückgeben eines RESULTSET als Tabelle.

Rückgabe des Wertes einer Variablen

In diesem Beispiel wird eine Variable mit dem Namen my_var für die Verwendung in einem anonymen Snowflake Scripting-Block deklariert und anschließend der Wert der Variable zurückgegeben:

DECLARE my_var VARCHAR; BEGIN my_var := 'Snowflake'; RETURN my_var; END; 
Copy

Hinweis: Wenn Sie Snowflake CLI, SnowSQL, die Classic Console, oder die Methode execute_stream oder execute_string in Python Connector Code verwenden, benutzen Sie stattdessen dieses Beispiel (siehe Verwenden von Snowflake Scripting in Snowflake CLI, SnowSQL, Classic Console und im Python-Connector):

EXECUTE IMMEDIATE $$ DECLARE my_var VARCHAR; BEGIN my_var := 'Snowflake'; RETURN my_var; END; $$; 
Copy

Verwenden des vom Aufruf einer gespeicherten Prozedur zurückgegebenen Wertes

Siehe Verwenden des vom Aufruf einer gespeicherten Prozedur zurückgegebenen Wertes.

Verwenden des von einer Snowflake Scripting-UDF zurückgegebenen Wertes

Siehe Snowflake Scripting-UDFs.