web-dev-qa-db-fra.com

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 voir cette procédure? Si ce n'est pas possible dans phpMyAdmin, quels sont les bons programmes qui ont la fonction d'écrire, de stocker et d'afficher les procédures stockées, les tables, etc.?

55
Dennis Martinez

Afficher les procédures stockées dans phpmyadmin:

Question:

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

Voici comment s'y rendre dans phpmyadmin.

phpmyadmin screenshot

L'option 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. Voir l'image ci-dessus et cliquez sur le lien routines sous l'onglet structure.

76
ravi404
select routine_definition
from information_schema.routines
where routine_schema = 'db_name'
and routine_name = 'sp_name';
19
Nicola Cossu

Cette 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 pouvez facilement la modifier/la supprimer."

6

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.

5
steffen

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 base de données pour voir toutes les procédures (enfin 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';
4
Aravindan R
show procedure status;      -- will show you the stored procedures.
show create procedure MY_PROC;  -- will show you the definition of a procedure. 
help show;          -- show all the available options for the show command.
3
Rene Meulenbroek

sous phpMyAdmin, cliquez sur votre base de données (Pas sur la table), puis cliquez sur "+ Routines".

Là, vous pouvez modifier/supprimer toutes vos procédures stockées

3
Karim

Dans PHPMYADMIN enter image description hereVersion 3.5.2.2 vous cliquez simplement sur le lien des routines en haut. Voir l'image ci-jointe

3
Mahadeva Prasad

N'oubliez pas que dans les petits écrans, vous devrez utiliser le menu "plus". phpMyAdmin

2
Rodrigo Polo

Après avoir cliqué sur accueil, bases de données, la base de données dans laquelle j'ai créé la procédure. Elle ouvre la fenêtre de structure de cette base de données. Dans la barre de menu: "structure, sql, search, ..." il devrait y avoir des routines, si ce n'est pas alors cliquez sur le bon élément appelé plus et il devrait être là (maudire mon netbook pour ne pas avoir d'écran 24 pouces).

Pour vous assurer que votre base de données dispose de la procédure, cliquez sur exporter, choisissez "Personnalisé - afficher toutes les options possibles", sous "Sortie:" choisissez "Afficher la sortie sous forme de texte", sous "Options spécifiques au format:" choisissez "structure" (juste sous "dump table"), assurez-vous que "Add CREATE PROCEDURE/FUNCTION/EVENT" est sélectionné (juste un peu sous "dump table"). Maintenant, cliquez sur Go et votre procédure devrait apparaître

utilisation: Informations sur la version: 3.5.2, dernière version stable: 3.5.2.2

1
HMR

Utilisez interface de base de données Adminer . Contrairement à PHPMyAdmin, il est parfaitement capable d'afficher, de modifier et d'appeler des procédures stockées, où PHPMyAdmin échoue avec des tonnes d'erreurs (erreurs lorsque vous essayez d'exécuter une instruction SQL pour en créer une, erreurs lorsque vous essayez d'en appeler une, erreurs lorsque vous essayez de modifier celui déjà créé, outre son incapacité à lister ceux définis… Je me demande vraiment ce que PHPMyAdmin fait avec le texte des requêtes SQL avant de le soumettre à la base de données, c'est effrayant).

Copiez simplement le fichier Adminer PHP à un certain endroit de votre serveur Web, ouvrez l'URL correspondante. Après vous être connecté et avoir sélectionné une base de données, sous la liste des tableaux, vous verrez un liste des procédures stockées, avec un bouton Appeler. En cliquant sur le lien de la procédure, vous pourrez également le modifier (le modifier).

Honnêtement, je vous recommande d'abandonner PHPMyAdmin, il est parfaitement incapable de gérer correctement cela (notez que SQLBuddy échoue également d'une manière ou d'une autre).

-- modifier --

Pour être complet, vous pouvez également répertorier les procédures stockées avec cette requête SQL:

show procedure status;

Ou celui-ci, pour récupérer une procédure dont le nom est connu:

show procedure status where Name = 'name';
1
Hibou57