返回值¶
若要返回值,请使用 RETURN 命令。您可以从以下位置返回值:
A block in a stored procedure or Snowflake Scripting user-defined function (UDF).
An anonymous block.
返回值的类型¶
可以返回以下类型的值:
表
在 RETURN 语句中使用
TABLE(...)。如果块在存储过程中,还必须指定
RETURNS TABLE(...)语句中的 CREATE PROCEDURE 子句。备注
目前,在
RETURNS TABLE(...)子句中,您无法指定 GEOGRAPHY 作为列类型。这在创建存储过程和匿名过程中均适用。如果尝试指定 GEOGRAPHY 为列类型,则调用存储过程会导致该错误:
要解决这个问题,可以省略
RETURNS TABLE()中的列实参和类型。如果要返回 RESULTSET 指向的数据,请将 RESULTSET 传递给
TABLE(...),如下例所示:请参阅 以表的形式返回 RESULTSET。
返回变量的值¶
此示例声明了名为 my_var 的变量,将该变量用于 Snowflake Scripting 匿名块,然后返回该变量的值:
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):
使用从存储过程调用返回的值¶
请参阅 使用从存储过程调用返回的值。