Version sans cache


Mise en cache désactivé. Réglage défaut pour cette page : actif (code DEF204)
Si l'affichage est trop lent, vous pouvez désactiver le mode utilisateur pour visualiser la version en cache.

Rechercher dans le manuel MySQL

13.7.6.27 SHOW PROCEDURE CODE Syntax

  1. SHOW PROCEDURE CODE proc_name

This statement is a MySQL extension that is available only for servers that have been built with debugging support. It displays a representation of the internal implementation of the named stored procedure. A similar statement, SHOW FUNCTION CODE, displays information about stored functions (see Section 13.7.6.19, “SHOW FUNCTION CODE Syntax”).

To use either statement, you must have the global SELECT privilege.

If the named routine is available, each statement produces a result set. Each row in the result set corresponds to one instruction in the routine. The first column is Pos, which is an ordinal number beginning with 0. The second column is Instruction, which contains an SQL statement (usually changed from the original source), or a directive which has meaning only to the stored-routine handler.

  1. mysql> DELIMITER //
  2. mysql> CREATE PROCEDURE p1 ()
  3.     -> BEGIN
  4.     ->   DECLARE fanta INT DEFAULT 55;
  5.     ->   DROP TABLE t2;
  6.     ->   LOOP
  7.     ->     INSERT INTO t3 VALUES (fanta);
  8.     ->     END LOOP;
  9.     ->   END//
  10. Query OK, 0 rows affected (0.00 sec)
  11.  
  12. mysql> SHOW PROCEDURE CODE p1//
  13. +-----+----------------------------------------+
  14. | Pos | Instruction                            |
  15. +-----+----------------------------------------+
  16. |   0 | set fanta@0 55                         |
  17. |   1 | stmt 9 "DROP TABLE t2"                 |
  18. |   2 | stmt 5 "INSERT INTO t3 VALUES (fanta)" |
  19. |   3 | jump 2                                 |
  20. +-----+----------------------------------------+
  21. 4 rows in set (0.00 sec)

In this example, the nonexecutable BEGIN and END statements have disappeared, and for the DECLARE variable_name statement, only the executable part appears (the part where the default is assigned). For each statement that is taken from source, there is a code word stmt followed by a type (9 means DROP, 5 means INSERT, and so on). The final row contains an instruction jump 2, meaning GOTO instruction #2.


Rechercher dans le manuel MySQL

Traduction non disponible

Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.

Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-show-procedure-code.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :en Manuel MySQL : https://dev.mysql.com/

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut