DESCRIBE PROCEDURE¶
저장 프로시저의 서명(즉, 인자), 반환 값, 언어, 본문(즉, 정의)을 포함하여, 지정된 저장 프로시저를 설명합니다.
- 참고 항목:
DROP PROCEDURE , ALTER PROCEDURE , CREATE PROCEDURE , SHOW PROCEDURES
구문¶
DESC[RIBE] PROCEDURE <procedure_name> ( [ <arg_data_type> [ , <arg_data_type_2> ... ] ] )
사용법 노트¶
저장 프로시저를 설명하려면 저장 프로시저의 이름과 인자 데이터 타입(있는 경우)을 지정해야 합니다. 저장 프로시저는 이름 오버로딩을 지원하므로 인자가 필요합니다(즉, 같은 스키마에 있는 두 저장 프로시저의 이름이 해당 인자 데이터 타입이 다른 한 같을 수 있음).
출력의
body
속성은 저장 프로시저에 대한 코드를 표시합니다.
예¶
다음은 매개 변수가 없는 저장 프로시저를 설명하는 방법을 보여주는 예입니다.
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; | | | | +---------------+------------------------------------------------------------------+