Nous avons donc beaucoup de routines qui sortent d'exportation. Nous avons souvent besoin de les sortir dans CLI, de faire des changements et de les ramener. Oui, certaines d'entre elles sont gérées par des personnes différentes et un meilleur contrôle des changements est nécessaire, mais pour l'instant c'est la situation.
Si je FAIRE: P>
mysqldump --routines --no-create-info --no-data --no-create-db
5 Réponses :
Pour répondre à votre question exacte: non. P>
Mais cela vous donnera probablement ce que vous voulez. p>
Jetez un coup d'oeil à http://dev.mysql.com/ DOC / REFMAN / 5.0 / FR / show-create-procédure.html p>
http://dev.mysql.com/ DOC / REFMAN / 5.0 / EN / show-Create-Fonction.html P>
Ces commandes vous permettent de jeter le code pour une routine à la fois. P> Afficher Créer une procédure code> et
Afficher la fonction Créer code>: p>
Une autre façon d'y aller ce serait ce qui suit. Notez cependant que vous devez avoir des privilèges root dans la base de données cible afin d'importer des lignes dans mysql.proc:
Pour restaurer le script créé par cette décharge, vous devez qualifier manuellement la référence de la table «PROC 'TABLE). Toutefois, en général, je trouve la sortie de cette méthode beaucoup plus flexible que la méthode traditionnelle MySqldump -Routines. Merci!
Il est possible de vider une seule fonction ou une procédure à l'aide de la commande que Ike Walker a mentionné, mais le Voici un exemple d'une ligne de commande Windows Batch pour vider une seule procédure, à l'aide de la table système Afficher crée procédure code> et
Afficher la fonction Créer une fonction code> ne permet pas de Sélectionnez seulement quelques colonnes à partir de la sortie.
mysql.proc code>: p>
set routine_type=FUNCTION
où définir cette variable% en-tête%
@ Bill.zhuang merci pour l'observation. Cette variable provient d'une ancienne version où j'ai défini le nom de la colonne dans une autre partie du script. J'ai testé cette nouvelle solution uniquement en remplacement du nom de la base de données et du fichier par défaut, et cela fonctionne.
Pour une raison quelconque, cela perd toute la sortie s'échappant dans des cordes dans le corps de la procédure stockée.
J'ai écrit la solution dans Bash.
pour une procédure p> pour toutes les procédures p>
C'est astuce, p>
Créer une base de données sur local. p> li>
Dump Votre base de données incluez votre procédure de magasin sur local. ou Il suffit d'utiliser la base de données MySQL * YOG et COPY, vérifiez la procédure de magasin (exemple: une procédure de stockage) sur le serveur local. P> li>
vider votre base de données locale. Ouais, vous avez une procédure de stockage dans votre décharge. N'oubliez pas d'utiliser --Routine si vous voulez SP / événements uniquement. P> li> ol>
Truc est amusant, n'est pas paresseux, juste trompé. p>