DESCRIBE PROCEDURE¶
저장 프로시저의 서명(즉, 인자), 반환 값, 언어, 본문(즉, 정의)을 포함하여, 지정된 저장 프로시저를 설명합니다.
구문¶
DESC[RIBE] PROCEDURE <procedure_name> ( [ <arg_data_type> [ , <arg_data_type_2> ... ] ] )
사용법 노트¶
저장 프로시저를 설명하려면 저장 프로시저의 이름과 인자 데이터 타입(있는 경우)을 지정해야 합니다. 저장 프로시저는 이름 오버로딩을 지원하므로 인자가 필요합니다(즉, 같은 스키마에 있는 두 저장 프로시저의 이름이 해당 인자 데이터 타입이 다른 한 같을 수 있음).
출력의
body
속성은 저장 프로시저에 대한 코드를 표시합니다.
이 명령의 출력을 후처리하기 위해 파이프 연산자 (
->>
) 또는 RESULT_SCAN 함수를 사용할 수 있습니다. 두 구문 모두 출력을 쿼리할 수 있는 결과 세트로 간주합니다.이 명령의 출력 열 이름은 소문자로 생성됩니다. 파이프 연산자 또는 RESULT_SCAN 함수와 함께 이 명령의 결과 세트를 사용하는 경우 쿼리의 열 이름에 큰따옴표로 묶인 식별자 를 사용하여 스캔된 출력의 열 이름과 일치하도록 합니다. 예를 들어, 출력 열의 이름이
type
인 경우 식별자에 대해"type"
을 지정합니다.
예¶
다음은 매개 변수가 없는 저장 프로시저를 설명하는 방법을 보여주는 예입니다.
DESC PROCEDURE my_pi(); +---------------+----------------------+ | property | value | |---------------+----------------------| | signature | () | | returns | FLOAT | | language | JAVASCRIPT | | null handling | CALLED ON NULL INPUT | | volatility | VOLATILE | | execute as | CALLER | | body | | | | return 3.1415926; | | | | +---------------+----------------------+
다음은 매개 변수가 있는 저장 프로시저를 설명하는 방법을 보여주는 예입니다.
DESC PROCEDURE area_of_circle(FLOAT); +---------------+------------------------------------------------------------------+ | property | value | |---------------+------------------------------------------------------------------| | signature | (RADIUS FLOAT) | | returns | FLOAT | | language | JAVASCRIPT | | null handling | CALLED ON NULL INPUT | | volatility | VOLATILE | | execute as | OWNER | | body | | | | var stmt = snowflake.createStatement( | | | {sqlText: "SELECT pi() * POW($RADIUS, 2)", binds:[RADIUS]} | | | ); | | | var rs = stmt.execute(); | | | rs.next() | | | var output = rs.getColumnValue(1); | | | return output; | | | | +---------------+------------------------------------------------------------------+