Kategorien:

DDL für benutzerdefinierte Funktionen, externe Funktionen und gespeicherte Prozeduren

DESCRIBE PROCEDURE

Beschreibt die angegebene gespeicherte Prozedur, einschließlich der Signatur (d. h. Argumente), des Rückgabewerts, der Sprache und des Hauptteils (d. h. der Definition) der gespeicherten Prozedur.

Siehe auch:

ALTER PROCEDURE , CREATE PROCEDURE , SHOW PROCEDURES

Syntax

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

Nutzungshinweise

  • Um eine gespeicherte Prozedur zu beschreiben, müssen Sie den Namen und ggf. die Argumentdatentypen für die gespeicherte Prozedur angeben. Die Argumente sind erforderlich, da gespeicherte Prozeduren das Überladen von Namen unterstützen (d. h. zwei gespeicherte Prozeduren im selben Schema können denselben Namen haben, solange sich ihre Argumentdatentypen unterscheiden).

  • Die Eigenschaft body in der Ausgabe zeigt den JavaScript-Code für die gespeicherte Prozedur an.

Beispiele

Dieses Beispiel veranschaulicht, wie eine gespeicherte Prozedur ohne Parameter beschrieben wird:

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

Dieses Beispiel veranschaulicht, wie eine gespeicherte Prozedur mit einem Parameter beschrieben wird:

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