DESCRIBE PROCEDURE

Décrit la procédure stockée spécifiée, y compris la signature de la procédure stockée (c’est-à-dire les arguments), la valeur de retour, la langue et le corps (c’est-à-dire la définition).

Voir aussi :

DROP PROCEDURE , ALTER PROCEDURE , CREATE PROCEDURE , SHOW PROCEDURES, SHOW USER PROCEDURES

Syntaxe

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

Notes sur l’utilisation

  • Pour décrire une procédure stockée, vous devez spécifier le nom et les types de données d’argument, le cas échéant, de la procédure stockée. Les arguments sont requis, car les procédures stockées prennent en charge la surcharge de noms (c’est-à-dire que deux procédures stockées dans le même schéma peuvent porter le même nom tant que leurs types de données d’argument sont différents).

  • La propriété body de la sortie affiche le code de la procédure stockée.

  • Pour post-traiter la sortie de cette commande, vous pouvez utiliser l’opérateur de canal (->>) ou la fonction RESULT_SCAN. Les deux constructions traitent la sortie comme un jeu de résultats que vous pouvez interroger.

    For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.

    When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column type, specify SELECT "type".

    You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.

Exemples

Cet exemple montre comment décrire une procédure stockée sans paramètre :

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

Cet exemple montre comment décrire une procédure stockée ayant un paramètre :

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