57 votes

Comment afficher mes procédures stockées dans phpMyAdmin ?

J'ai créé une procédure stockée dans phpMyAdmin.

CREATE PROCEDURE Sample()
SELECT * FROM feedback

Où pourrais-je visualiser cette procédure ? Si ce n'est pas possible avec phpMyAdmin, quel(s) bon(s) programme(s) permet(tent) d'écrire, de stocker et de visualiser des procédures stockées, des tables, etc.

0 votes

Selon le Page d'accueil de phpMyAdmin Il a la capacité de "gérer les procédures stockées et les déclencheurs", mais je n'arrive pas à comprendre comment.

14 votes

Pour l'amour de tout ce qui est sacré sur le web et pour votre propre santé mentale - s'il vous plaît, s'il vous plaît, n'utilisez pas cette merde de PHPMyAdmin, il y a tellement d'outils GUI qui sont meilleurs et ne posent pas un énorme, énorme risque de sécurité et ils n'ont pas une convivialité terrible. L'un d'entre eux est MySQL Workbench ( mysql.com/downloads/workbench ) et l'autre est SQLYog( webyog.com ).

0 votes

Bon sang, je suis content d'avoir trouvé ce fil de discussion et le commentaire sur MySQL Workbench ! Merci N.B. ! Je débute avec PHP/MySQL et je ne savais même pas que des outils plus avancés existaient. Workbench me rappelle beaucoup MS SQL Management Studio et c'est exactement ce dont j'ai besoin ! Et c'était si facile de le faire fonctionner - il suffit de décompresser le zip, de l'exécuter, de cliquer sur connecter et tout est prêt !

76voto

ravz Points 2023

Afficher les procédures stockées dans phpmyadmin :

Une requête :

SELECT routine_definition
FROM information_schema.routines
WHERE 
routine_name = 'procedure_name' AND routine_schema = 'databasename';

Voici comment y parvenir dans phpmyadmin.

phpmyadmin screenshot

Le site routines est disponible dans phpmyadmin . Le lien n'est pas visible dans PHPmyadmin tant que vous n'avez pas au moins une procédure stockée. Regardez l'image ci-dessus et cliquez sur le lien routines lien sous structure onglet.

0 votes

Toutes les installations de PHPMyAdmin ne l'ont pas. Celle de mon serveur 1&1 n'a pas ce lien (PHPMyAdmin sur mon hôte local l'a), et échoue de plusieurs façons avec la procédure stockée. L'OP ferait mieux d'utiliser Adminer, dont j'ai parlé dans ce sujet. Quoi qu'il en soit, votre réponse vaut toujours la peine d'être votée.

1 votes

@Hibou57 Essayez de changer le thème en original j'ai pu trouver un nouvel onglet "Routines" à côté de "Privilèges".

1 votes

Je pense qu'il est important de dire (parce que cela m'est arrivé) que le lien "Routines" ne s'affichera que si vous avez effectivement des procédures stockées définies pour la base de données. Donc, si c'est la première fois que vous les utilisez, exécutez simplement la requête dans la boîte de requête, puis retournez à la base de données et cherchez le lien Routines, là vous verrez la procédure stockée que vous venez de créer.

21voto

Nicola Cossu Points 18168
select routine_definition
from information_schema.routines
where routine_schema = 'db_name'
and routine_name = 'sp_name';

6voto

Ce site réponse montre comment les visualiser sans script.

"Une fois que vous avez créé la procédure stockée, elle apparaîtra dans le jeu de champs Routines sous vos tables (dans l'onglet Structure), et vous pourrez facilement la modifier/déplacer."

5voto

steffen Points 51

Vous pouvez sélectionner "information_schema" comme base de données et interroger toutes les entrées de la table "routines", au cas où vous ne voudriez pas utiliser SQL à chaque fois.

0 votes

C'est la meilleure réponse à voir.

0 votes

Pour sélectionner l'information_schema, sélectionnez une autre base de données et dans l'onglet SQL, faites une requête. USE information_schema (mystérieusement "USE db_name" avec seulement le serveur Root sélectionné amène à la page principale et non à db_name)

5voto

Aravin R Points 1875

En bref, vous pouvez utiliser ce sql

SHOW CREATE PROCEDURE Sample;

Plus d'informations ici

MISE À JOUR : Si vous ne vous souvenez pas des noms, vous pouvez interroger le INFORMATION_SCHEMA de la base de données pour voir toutes les procédures (vous pouvez utiliser un LIKE sur ROUTINE_NAME si vous vous souvenez d'un nom partiel)

SELECT ROUTINE_TYPE, ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA='dbname';

0 votes

Que se passe-t-il si je ne me souviens pas toujours des noms ? Existe-t-il une représentation visuelle de la procédure ?

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