RETURN (Exécution de scripts Snowflake)¶
Renvoie la valeur dâune expression spĂ©cifiĂ©e.
Pour plus dâinformations sur les valeurs de retour, voir Renvoi dâune valeur.
Note
Cette construction ExĂ©cution de scripts Snowflake nâest valable quâĂ lâintĂ©rieur dâun bloc ExĂ©cution de scripts Snowflake.
Syntaxe¶
RETURN <expression>;
OĂč :
expression
Une expression qui correspond Ă la valeur Ă retourner.
Notes sur lâutilisation¶
Une instruction RETURN peut ĂȘtre exĂ©cutĂ©e dans :
Une procédure stockée.
Un bloc anonyme.
Une instruction RETURN renvoie lâun des types suivants :
Une table. Utilisez
TABLE(...)
dans lâinstructionRETURN
.Si votre bloc se trouve dans une procédure stockée, vous devez également spécifier la clause
RETURNS TABLE...
dans lâinstruction CREATE PROCEDURE.Note
Actuellement, dans la clause
RETURNS TABLE(...)
, vous ne pouvez pas spĂ©cifier GEOGRAPHY comme type de colonne. Ceci sâapplique, que vous crĂ©iez une procĂ©dure stockĂ©e ou anonyme.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();
Si vous tentez de spĂ©cifier GEOGRAPHY comme type de colonne, lâappel de la procĂ©dure stockĂ©e entraĂźne une erreur :
Stored procedure execution error: data type of returned table does not match expected returned table type
Pour contourner ce problĂšme, vous pouvez omettre les arguments et les types de colonne dans
RETURNS TABLE()
.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();
Si vous voulez retourner les donnĂ©es vers lesquelles pointe un RESULTSET, passez le RESULTSET Ă TABLE(âŠ), comme le montre lâexemple ci-dessous :
CREATE PROCEDURE ... RETURNS TABLE(...) ... RETURN TABLE(my_result_set); ...
Vous pouvez dĂ©finir une variable sur la valeur de retour dâune procĂ©dure stockĂ©e. Pour plus dâinformations, voir Utilisation de la valeur renvoyĂ©e depuis un appel de procĂ©dure stockĂ©e.
Exemples¶
Cet exemple déclare une variable nommée my_var
pour lâutiliser dans un bloc anonyme de Snowflake Scripting, puis renvoie la valeur de la variable :
DECLARE
my_var VARCHAR;
BEGIN
my_var := 'Snowflake';
RETURN my_var;
END;
Remarque : Si vous utilisez Snowflake CLI, SnowSQL, Classic Console, ou la méthode execute_stream
ou execute_string
dans le code Connecteur Python, utilisez cet exemple Ă la place (voir Utilisation de Snowflake Scripting dans Snowflake CLI, SnowSQL, le Classic Console et le connecteur Python) :
EXECUTE IMMEDIATE
$$
DECLARE
my_var VARCHAR;
BEGIN
my_var := 'Snowflake';
RETURN my_var;
END;
$$;