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.?
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.
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
.
select routine_definition
from information_schema.routines
where routine_schema = 'db_name'
and routine_name = 'sp_name';
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."
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.
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';
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.
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
Dans PHPMYADMIN Version 3.5.2.2 vous cliquez simplement sur le lien des routines en haut. Voir l'image ci-jointe
N'oubliez pas que dans les petits écrans, vous devrez utiliser le menu "plus".
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
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';