DESCRIBE PROCEDURE

Descreve o procedimento armazenado especificado, incluindo assinatura (isto é, argumentos), valor de retorno, linguagem e corpo (isto é, definição) do procedimento armazenado.

Consulte também:

DROP PROCEDURE , ALTER PROCEDURE , CREATE PROCEDURE , SHOW PROCEDURES

Sintaxe

DESC[RIBE] PROCEDURE <procedure_name> ( [ <arg_data_type> [ , <arg_data_type_2> ... ] ] )
Copy

Notas de uso

  • Para descrever um procedimento armazenado, você deve especificar o nome e o(s) tipo(s) de dados de argumento, se houver, para o procedimento armazenado. Os argumentos são necessários porque os procedimentos armazenados oferecem suporte à sobrecarga de nomes (ou seja, dois procedimentos armazenados no mesmo esquema podem ter o mesmo nome desde que seus tipos de dados de argumento sejam diferentes).

  • A propriedade body na saída exibe o código para o procedimento armazenado.

Exemplos

Este exemplo mostra como descrever um procedimento armazenado que não tem parâmetros:

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;  |
|               |                      |
+---------------+----------------------+
Copy

Este exemplo mostra como descrever um procedimento armazenado que tem um parâmetro:

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;                                                 |
|               |                                                                  |
+---------------+------------------------------------------------------------------+
Copy