RETURN (Script Snowflake)¶
Retorna o valor de uma expressão especificada.
Para obter mais informações sobre valores retornados, consulte Como retornar um valor.
Nota
Este constructo do Script Snowflake só é válido dentro de um bloco do Script Snowflake.
Sintaxe¶
RETURN <expression>;
Onde:
expression
Uma expressão que é avaliada como um valor a ser devolvido.
Notas de uso¶
Uma instrução RETURN pode ser executada em:
Um procedimento armazenado.
Um bloco anônimo.
Uma instrução RETURN retorna um dos seguintes tipos:
Uma tabela. Use
TABLE(...)
na instruçãoRETURN
.Se seu bloco estiver em um procedimento armazenado, você também deve especificar a cláusula
RETURNS TABLE...
na instrução CREATE PROCEDURE.Nota
Atualmente, na cláusula
RETURNS TABLE(...)
, você não pode especificar GEOGRAPHY como um tipo de coluna. Isso se aplica se você estiver criando um procedimento armazenado ou anônimo.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();
Se você tentar especificar GEOGRAPHY como um tipo de coluna, chamar o procedimento armazenado resultará no erro:
Stored procedure execution error: data type of returned table does not match expected returned table type
Para contornar isso, você pode omitir os argumentos da coluna e digitar
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();
Se você quiser retornar os dados para os quais um RESULTSET aponta, passe o RESULTSET para TABLE(…), como mostrado no exemplo abaixo:
create procedure ... returns table(...) ... return table(my_result_set); ...