RETURN(Snowflake Scripting)

지정된 식의 값을 반환합니다.

반환 값에 대한 자세한 내용은 값 반환하기 섹션을 참조하십시오.

참고

Snowflake Scripting 구문은 Snowflake Scripting 블록 내에서만 유효합니다.

구문

RETURN <expression>;
Copy

여기서

expression

반환할 값으로 평가되는 식입니다.

사용법 노트

  • RETURN 문은 다음에서 실행할 수 있습니다.

    • 저장 프로시저.

    • 익명 블록.

  • RETURN 문은 다음 타입 중 하나를 반환합니다.

    • SQL 데이터 타입.

    • 테이블. RETURN 문에서 TABLE(...) 을 사용합니다.

      블록이 저장 프로시저에 있는 경우 CREATE PROCEDURE 문에서 RETURNS TABLE... 절도 지정해야 합니다.

      참고

      현재, RETURNS TABLE(...) 절에서는 GEOGRAPHY를 열 유형으로 지정할 수 없습니다. 이는 저장 프로시저를 생성하든 익명 프로시저를 생성하든 관계없이 적용됩니다.

      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

      GEOGRAPHY를 열 유형으로 지정하려고 할 경우 저장 프로시저를 호출하면 오류가 발생합니다.

      Stored procedure execution error: data type of returned table does not match expected returned table type
      
      Copy

      이 문제를 해결하려면 RETURNS TABLE() 에서 열 인자와 유형을 생략하면 됩니다.

      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

      RESULTSET 가 가리키는 데이터를 반환하려면 아래 예와 같이 RESULTSET를 TABLE(…)로 전달합니다.

      create procedure ...
      returns table(...)
      ...
          return table(my_result_set);
      ...
      
      Copy

      RESULTSET를 테이블로 반환하기 섹션을 참조하십시오.