DESCRIBE PROCEDURE¶
ストアドプロシージャの署名(引数)、戻り値、言語、および本文(定義)など、指定されたストアドプロシージャを記述します。
- こちらもご参照ください。
DROP PROCEDURE、 ALTER PROCEDURE、 CREATE PROCEDURE、 SHOW PROCEDURES
構文¶
DESC[RIBE] PROCEDURE <procedure_name> ( [ <arg_data_type> [ , <arg_data_type_2> ... ] ] )
使用上の注意¶
ストアドプロシージャを記述するには、ストアドプロシージャの名前と引数データ型(存在する場合)を指定する必要があります。ストアドプロシージャは名前のオーバーロードをサポートしているため、引数が必要です(つまり、同じスキーマ内の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; | | | | +---------------+------------------------------------------------------------------+