값 반환하기¶
값을 반환하려면 RETURN 명령을 사용합니다. 다음에서 값을 반환할 수 있습니다.
저장 프로시저의 블록.
익명 블록.
반환 값의 유형¶
다음 타입 중 하나의 값을 반환할 수 있습니다.
테이블
RETURN 문에서
TABLE(...)
을 사용합니다.블록이 저장 프로시저에 있는 경우 CREATE PROCEDURE 문에서
RETURNS TABLE(...)
절도 지정해야 합니다.참고
현재,
RETURNS TABLE(...)
절에서는 GEOGRAPHY 를 열 유형으로 지정할 수 없습니다. 이는 저장 프로시저를 생성하든 익명 프로시저를 생성하든 관계없이 적용됩니다.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();
GEOGRAPHY를 열 유형으로 지정하려고 할 경우 저장 프로시저를 호출하면 오류가 발생합니다.
Stored procedure execution error: data type of returned table does not match expected returned table type
이 문제를 해결하려면
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();
RESULTSET 가 가리키는 데이터를 반환하려면 아래 예와 같이 RESULTSET 를
TABLE(...)
로 전달합니다.CREATE PROCEDURE ... RETURNS TABLE(...) ... RETURN TABLE(my_result_set); ...
RESULTSET를 테이블로 반환하기 섹션을 참조하십시오.
변수 값 반환하기¶
이 예에서는 Snowflake Scripting 익명 블록에서 사용하기 위해 my_var
이라는 변수를 선언한 다음 변수 값을 반환합니다.
DECLARE
my_var VARCHAR;
BEGIN
my_var := 'Snowflake';
RETURN my_var;
END;
참고: Python Connector 코드에서 Snowflake CLI, SnowSQL, Classic Console, 또는 execute_stream
또는 execute_string
메서드를 사용하는 경우 이 예제를 대신 사용하십시오(Snowflake CLI, SnowSQL, Classic Console 및 Python Connector에서 Snowflake Scripting 사용하기 참조).
EXECUTE IMMEDIATE
$$
DECLARE
my_var VARCHAR;
BEGIN
my_var := 'Snowflake';
RETURN my_var;
END;
$$;
저장 프로시저 호출에서 반환된 값 사용하기¶
저장 프로시저 호출에서 반환된 값 사용하기 섹션을 참조하십시오.