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> ... ] ] )
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.Les noms des colonnes de sortie pour cette commande sont générés en minuscules. Si vous consommez un jeu de résultats de cette commande avec l’opérateur de canal ou la fonction RESULT_SCAN, utilisez des identificateurs entre guillemets doubles pour les noms de colonnes de la requête, afin de vous assurer qu’ils correspondent aux noms de colonnes dans la sortie analysée. Par exemple, si le nom d’une colonne de sortie est
type
, spécifiez"type"
pour l’identificateur.
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; | | | | +---------------+----------------------+
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; | | | | +---------------+------------------------------------------------------------------+