Quelle est la commande MySQL pour afficher la définition d'une procédure ou d'une fonction stockée, similaire à sp_helptext
dans Microsoft SQL Server? Je sais que SHOW PROCEDURE STATUS
affichera la liste des procédures disponibles. J'ai besoin de voir la définition d'une seule procédure.Afficher la procédure stockée/définition de fonction dans MySQL
Répondre
SHOW CREATE PROCEDURE <name>
Renvoie le texte d'une procédure stockée précédemment définie qui a été créée en utilisant l'instruction CREATE PROCEDURE
. Échangez PROCEDURE
pour FUNCTION
pour une fonction stockée.
Je reçois '# 1064 - Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de '' à la ligne 1' –
+1 Cela m'a aidé trois fois maintenant. Un de ces jours, je me souviendrai du commandement par cœur. –
MONTRER FONCTION FONCTION
SHOW CREATE PROCEDURE proc_name;
renvoie la définition de proc_name
quelque chose comme:
DELIMITER //
CREATE PROCEDURE alluser()
BEGIN
SELECT *
FROM users;
END //
DELIMITER ;
que:
SHOW CREATE PROCEDURE alluser
donne le résultat:
'alluser', 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER', 'CREATE DEFINER=`root`@`localhost` PROCEDURE `alluser`()
BEGIN
SELECT *
FROM users;
END'
Vous pouvez utiliser ceci:
SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = 'yourdb' AND ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME = "procedurename";
Malheureusement, le ROUTINE_DEFINITION n'inclut pas les paramètres IN/OUT de la procédure stockée ni les valeurs de retour (alors que SHOW CREATE PROCEDURE le fait). Si vous voulez les obtenir, vous pouvez interroger directement mysql.proc, par exemple. SELECT param_list, retourne, body FROM mysql.proc O WH db = 'yourdb' ET type = 'PROCEDURE' et name = 'nom de procédure'; – GregW
@GregW cette requête de 'mysql.proc' retourne des blobs pour' param_list', 'returns', et' body' ... Je suis incapable de les lire ... Comment l'as-tu fait? – Dmitry
nvm, réponse trouvée [ici] (http: // stackoverflow.com/questions/948174/how-do-i-convert-from-blob-to-text-in-mysql) – Dmitry
Si vous voulez connaître la liste des procédures que vous pouvez exécuter la commande suivante -
show procedure status;
Il vous donnera la liste des procédures et leurs définisseurs ensuite, vous pouvez exécuter le show create procedure <procedurename>;
parfait, essayez:
SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = 'yourdb' AND ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME = "procedurename";
Bienvenue à SE! S'il vous plaît expliquer votre réponse, surtout en ce qui concerne ce qui le différencie des autres existants. – anderas
Une solution rapide et hacky alternative si vous voulez obtenir un aperçu de tous les produres il y a, ou courir sur la question de seulement obtenir l'en-tête de procédure affiché par SHOW CREATE PROCEDURE:
mysqldump --user=<user> -p --no-data --routines <database>
Il sera exporter les descriptions de table, mais pas de données. Fonctionne bien pour renifler des schémas inconnus ou oubliés ...;)
- 1. procédure mysql? Fonction?
- 2. afficher la fonction mysql count?
- 3. MySql retournant plusieurs lignes de la procédure stockée/fonction
- 4. Code d'erreur dans la procédure MySQL
- 5. problème avec la procédure stockée dans MySQL
- 6. Gestion de l'arborescence dans une procédure MySQL
- 7. convertir la procédure de MySQL stockée MSSQL
- 8. procédure stockée Mysql où la clause
- 9. Tableau de nombres entiers dans la procédure stockée de Mysql
- 10. mysql appel de procédure dans codeigniter
- 11. MySQL procédure stockée vs fonction, ce que j'utiliserais quand?
- 12. MySQL: Comment combiner une procédure stockée avec une autre fonction?
- 13. éditeur de procédure stockée mysql
- 14. mysql create script de procédure
- 15. paramètres de procédure stockée MySQL
- 16. Mysql erreur de procédure stockée
- 17. Implémentation de la fonction NORMSINV dans MySQL
- 18. MYSQL/php - Question de procédure
- 19. mysql-procédure stockée:
- 20. Table de sélection de procédure stockée MySql
- 21. Comment appeler la fonction C# dans la procédure stockée
- 22. Afficher l'état dans mysql
- 23. Afficher la date précédente dans Mysql
- 24. Mysql procédure stockée
- 25. Afficher les index dans la table MySQL
- 26. procédure stockée mysql
- 27. Débogage de procédure stockée MySQL
- 28. MySQL foreach alternative pour la procédure
- 29. MySQL Normalisation procédure stockée performance
- 30. Mysql 5.0 Procédure Syntaxe
SELECT * FOM mysql.proc \ G; – zloctb