Comment voir la liste des procédures stockées ou des fonctions stockées dans la ligne de commande mysql comme les commandes show tables;
ou show databases;
.Liste des procédures/fonctions stockées Ligne de commande Mysql
Répondre
SHOW PROCEDURE STATUS;
SHOW FUNCTION STATUS;
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 la commande show
.
aide montrent ne fonctionne pas. – Codler
Comme Codler l'a fait remarquer, help show ne fonctionne pas car l'aide est une instruction de ligne de commande mysql. Pour obtenir plus d'informations sur la commande SHOW, rendez-vous directement sur la page de documentation de MySQL: http://dev.mysql.com/doc/refman/5.1/fr/show.html – IvanD
Eh bien, je ne sais pas pourquoi vous dites ça, help show fonctionne très bien pour moi en utilisant MySQL 5.0.95 sur centos 6.3 – h4unt3r
utiliser ceci:
SHOW PROCEDURE STATUS;
Comme mentionné ci-dessus,
show procedure status;
va en effet afficher une liste des procédures, mais montre tous d'entre eux, tout le serveur.
Si vous voulez voir seulement ceux dans une base de données unique, essayez ceci:
SHOW PROCEDURE STATUS WHERE Db = 'databasename';
cela fonctionne bien pour moi ...! –
De même, SHOW FONCTION STATUS WHERE Db = 'nom_base_de_données'; vous donne les fonctions. –
Une façon plus spécifique:
SHOW PROCEDURE STATUS
WHERE Db = DATABASE() AND Type = 'PROCEDURE'
ça va fonctionner sans utiliser AND Type = 'PROCEDURE' aussi, – normalUser
Pour la procédure de vue en nom sage
select name from mysql.proc
ci-dessous le code utilisé pour lister toute la procédure et le code ci-dessous donne le même résultat que l'état de la procédure d'affichage
select * from mysql.proc
+1 pour montrer le nom seulement! –
c'est une présentation beaucoup plus propre que les autres surtout si vous êtes dans un petit terminal. Merci. – user1527227
Pour montrer à la vôtre:
SELECT
db, type, specific_name, param_list, returns
FROM
mysql.proc
WHERE
definer LIKE
CONCAT('%', CONCAT((SUBSTRING_INDEX((SELECT user()), '@', 1)), '%'));
Pourquoi modifier en majuscules? Est-ce une convention? –
Il est courant de placer des mots-clés SQL en majuscules, tout en mettant les noms de colonnes, les noms de tables, etc. en minuscules. – Sagar
Alternative:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
show procedure status;
en utilisant cette commande, vous pouvez voir les toutes les procédures dans les bases de données
Une variation sur des années Praveenkumar_V post:
SELECT `name` FROM mysql.proc WHERE db = 'dbname' AND `type` = 'PROCEDURE';
SELECT `name` FROM mysql.proc WHERE db = 'dbname' AND `type` = 'FUNCTION';
..et cela parce que je avais besoin de gagner du temps après un entretien:
SELECT CONCAT(
"GRANT EXECUTE ON PROCEDURE `"
,`name`
,"` TO [email protected]'%'; -- "
,`comment`
)
FROM mysql.proc
WHERE db = 'dbname'
AND `type` = 'PROCEDURE';
SELECT CONCAT(
"GRANT EXECUTE ON FUNCTION `"
,`name`
,"` TO [email protected]'%'; -- "
,`comment`
)
FROM mysql.proc
WHERE db = 'dbname'
AND `type` = 'FUNCTION';
SELECT specific_name FROM `information_schema`.`ROUTINES` WHERE routine_schema='database_name'
Utilisez la requête suivante pour toutes les procédures:
select * from sysobjects
where type='p'
order by crdate desc
Ma préférence est pour quelque chose qui:
- Répertorie les fonctions et les procédures,
- Permet de savoir lesquelles sont,
- Donne les noms et les types et rien d'autre,
- Filtres résultats par la base de données actuelle, pas le définisseur actuel
- Trie le résultat
cousent des autres réponses des procédures en ce fil, je me retrouve avec
select
name, type
from
mysql.proc
where
db = database()
order by
type, name;
... qui finit avec des résultats qui ressemblent ike ceci:
mysql> select name, type from mysql.proc where db = database() order by type, name;
+------------------------------+-----------+
| name | type |
+------------------------------+-----------+
| get_oldest_to_scan | FUNCTION |
| get_language_prevalence | PROCEDURE |
| get_top_repos_by_user | PROCEDURE |
| get_user_language_prevalence | PROCEDURE |
+------------------------------+-----------+
4 rows in set (0.30 sec)
Réponse parfaite, merci! –
Si vous voulez la liste Procédure Store pour la base sélectionnée actuelle,
SHOW PROCEDURE STATUS WHERE Db = DATABASE();
il liste Routines basé sur la base de données actuellement sélectionné
SHOW PROCEDURE STATUS;
Affiche tous les procédures stockées.
SHOW FUNCTION STATUS;
affiche toutes les fonctions.
SHOW CREATE PROCEDURE [PROC_NAME];
montrera la définition de la procédure spécifiée.
SHOW PROCEDURE STATUS WHERE Db = '[db_name]';
vous montrera toutes les procédures de la base de données.
- 1. ant: liste des dossiers sur la ligne de commande
- 2. Test des procédures stockées avec MySQL
- 3. Développer des procédures stockées MySQL avec Intellisense?
- 4. Comment sauvegarder des procédures stockées dans MySQL
- 5. Liste des procédures stockées du tableau
- 6. MySql Procédures stockées Paramètre Échapper
- 7. Comment Interrompre une longue requête dans l'outil de ligne de commande mysql sans quitter mysql?
- 8. arguments de ligne de commande
- 9. Générer la liste des mois dans mysql
- 10. MySQL depuis la ligne de commande - puis-je utiliser pratiquement des LOCK?
- 11. Citation d'arguments de ligne de commande dans des scripts shell
- 12. Aide en ligne de commande TFS
- 13. Analyse de ligne de commande
- 14. priorité de ligne MySQL
- 15. Envoyer des commandes à d'autres programmes de ligne de commande
- 16. Utiliser des arguments de ligne de commande dans creationComplete
- 17. Linux ligne de commande: diviser une chaîne
- 18. Passer des options à Haml sur la ligne de commande
- 19. Ghostscript: la numérotation des pages via la ligne de commande
- 20. Interroger des PDF en utilisant la ligne de commande?
- 21. QtCreator et arguments de ligne de commande
- 22. Utilitaire de ligne de commande personnalisé. Comment?
- 23. Arguments de la ligne de commande WinMain
- 24. Entrée de ligne de commande MyGeneration
- 25. oracle ligne de commande de la question
- 26. Historique de ligne de commande Python persistant
- 27. Comment voir les fichiers présents dans la liste de modifications en utilisant la ligne de commande
- 28. application de ligne de commande de débogage
- 29. Appelez la commande mysql SOURCE à partir d'un programme C
- 30. Compilateur de ligne de commande Windows Mobile
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? – xameeramir
Si l'utilisateur a le privilège de 'EXECUTE', sinon, cela affichera une liste vide. – mjb