2009-10-17 1 views

Répondre

3

Vous pouvez obtenir beaucoup d'informations, y compris le nom, de INFORMATION_SCHEMA.ROUTINES. See the MySQL Manual for details.

Les informations des paramètres qui figureraient dans le tableau INFORMATION_SCHEMA.PARAMETERS, mais ce tableau ne sont pas disponibles dans MySQL, donc je ne suis pas sûr que vous pouvez obtenir cette information de INFORMATION_SCHEMA.

Si vous avez juste besoin de la liste d'arguments, vous pouvez sélectionner les noms de procédure de INFORMATION_SCHEMA.ROUTINES puis obtenir les instructions CREATE PROCEDURE pour chacun d'eux en utilisant SHOW CREATE PROCEDURE. Si vous avez juste besoin des arguments et des types, vous devriez pouvoir les analyser sans trop de problèmes.

+0

INFORMATION_SCHEMA.PARAMETERS ne semble pas exister ..? – Ropstah

+0

Non. Il était _dans MySQL 6, mais il n'a jamais été rétroporté vers MySQL 5. –

+0

grrrr donc pas moyen de générer des classes de procédures stockées à partir de la base de données? – Ropstah

0

Je crois que quelque chose comme ce que vous cherchez est possible en utilisant le programme de sauvegarde intégré de MySQL: mysqldump. Donnez à ce essayer:

mysqldump --routines --triggers --nodata --skip-opt YOURDB 

Détails: Un coup d'œil sur la documentation (MySQL 5.4) vous montre certainement envie de le lancer avec l'option --routines, ainsi que probablement --triggers. Je devine que vous voudrez passer la plupart des données dans cette décharge, juste pour regarder les procédures, dans ce cas vous pouvez vouloir les options --nodata --skip-opt et probablement d'autres options que je n'ai pas encore identifiées. Consultez la documentation de votre version pour les autres options que vous souhaitez. Notez également que vous pouvez spécifier uniquement certaines tables de la base de données en ajoutant leurs noms à la fin.

+0

Merci d'avoir réfléchi, je pense que les solutions de James sont suffisantes, mais je vais sûrement m'en occuper! – Ropstah

Questions connexes