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>;
Copy

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 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 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)
        ...
      
      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.