RETURN (Snowflake Scripting)¶
Gibt den Wert eines angegebenen Ausdrucks zurück.
Weitere Informationen zur Rückgabe von Werten finden Sie unter Zurückgeben eines Wertes.
Bemerkung
Dieses Snowflake Scripting-Konstrukt ist nur innerhalb eines Snowflake Scripting-Blocks gültig.
Syntax¶
RETURN <expression>;
Wobei:
expression
Ein Ausdruck, der den zurückzugebenden Wert ermittelt.
Nutzungshinweise¶
Eine RETURN-Anweisung kann auf zwei Arten ausgeführt werden:
über eine gespeicherte Prozedur
über einen anonymen Block
Eine RETURN-Anweisung gibt einen der folgenden Typen zurück:
Eine Tabelle Verwenden Sie
TABLE(...)
in derRETURN
-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 nicht 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) ...
WITH test_return_geography_table_1() AS PROCEDURE RETURNS TABLE(g GEOGRAPHY) ... CALL test_return_geography_table_1();
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
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() ...
WITH test_return_geography_table_1() AS PROCEDURE RETURNS TABLE() ... CALL test_return_geography_table_1();
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); ...