508 votes

Liste des procédures stockées/fonctions en ligne de commande Mysql

Comment puis-je voir la liste des procédures stockées ou des fonctions stockées dans la ligne de commande mysql, par exemple show tables; o show databases; des commandes.

779voto

fredrik Points 5043
SHOW PROCEDURE STATUS;
SHOW FUNCTION STATUS;

2 votes

Existe-t-il un moyen de trouver le nom de la procédure stockée actuelle ? Je crois que c'est object_name(@@procid) dans SSMS quelque chose comme ça dans MySql ?

1 votes

Si l'utilisateur a le privilège de EXECUTE sinon, la liste sera vide.

222voto

show procedure status

vous montrera les procédures stockées.

show create procedure MY_PROC

vous montrera la définition d'une procédure. Et

help show

vous montrera toutes les options disponibles pour le show commandement.

102voto

Praveenkumar_V Points 274

Pour la procédure d'affichage par nom

select name from mysql.proc 

le code ci-dessous a été utilisé pour lister toutes les procédures et le code ci-dessous donne le même résultat que celui de montrer le statut de la procédure.

select * from mysql.proc

7 votes

Cette présentation est beaucoup plus propre que les autres, surtout si vous êtes dans un petit terminal. merci.

0 votes

J'ai transformé cette réponse en select db,name,type from mysql.proc where db<>'sys'; pour un peu plus d'informations, et moins de système intégré.

53voto

sassman Points 141

De façon plus spécifique :

SHOW PROCEDURE STATUS 
WHERE Db = DATABASE() AND Type = 'PROCEDURE'

4 votes

Cela fonctionnera aussi sans utiliser AND Type = 'PROCEDURE',

0 votes

En Type Le filtre est pratique dans le cas où vous avez des fonctions que vous ne voulez pas voir.

38voto

Drarok Points 763

Comme mentionné ci-dessus,

show procedure status;

Affiche en effet une liste de procédures, mais indique todos d'entre eux, à l'échelle du serveur.

Si vous voulez voir uniquement ceux qui se trouvent dans une seule base de données, essayez ceci :

SHOW PROCEDURE STATUS WHERE Db = 'databasename';

0 votes

De même, SHOW FUNCTION STATUS WHERE Db = 'databasename' ; vous donne les fonctions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X