Procédures Stockées À L'Aide De MySQL Workbench
Très nouvelle pour l'environnement, j'ai une question sur une ligne est ajoutée à la fin de mon code. Le guide que je suis est:
http://net.tutsplus.com/tutorials/an-introduction-to-stored-procedures/
Si quelqu'un a un meilleur sujet de MySQL procédures stockées, je suis tout ouïe.
Avant que je pose, c'est l'environnement que j'utilise:
Système d'exploitation: Windows 7 /WAMP (MySQL 5.5.24) /MySQL Workbench
Je suis chargé de définir un séparateur; dans mon cas, je suis coller avec la valeur par défaut"$$.'
La procédure stockée que j'ai créée est:
DELIMITER $$
CREATE PROCEDURE test.`p2` ()
LANGUAGE SQL
DETERMINISTIC
COMMENT 'Adds "nson" to first and last names in the record.'
BEGIN
SELECT 'Hello World';
END $$
Quand j'applique cette procédure stockée, et j'ai l'examen de l'écran, je vois une nouvelle ligne de code ajoutée;
En bas:
DELIMITER ;
Ce lats ligne, est-il ajouté, parce que le DÉLIMITEUR déclaration annonce un bloc dans lequel la définition de délimiteurs ($$) peut être utilisé et donc ferme le bloc à la fin?
OriginalL'auteur brooklynsweb | 2013-02-04
Vous devez vous connecter pour publier un commentaire.
Lors de l'utilisation de la builtin procédure de l'éditeur, MySQL Workbench ajoute quelques commandes supplémentaires:
Ces commandes ne sont pas strictement liées aux procédures stockées, de la syntaxe, qu'ils sont simplement un des produits de base autres clients MySQL (comme HeidiSQL ou l'officiel de l'utilitaire de ligne de commande) ne seront pas les ajouter. Le dernier délimiteur de changement est probablement une réinitialisation afin d'éviter de futurs problèmes relevés sur la même connexion.
Vous avez besoin de changer le séparateur dans le but d'instruire le client sur l'endroit où le code de procédure commence et à la fin. Le problème est que le corps de la procédure est habituellement une collection d'instructions SQL donc, en omettant le délimiteur de changement ferait MySQL pense que vous essayez d'exécuter une série de déclarations, dont le premier serait celui-ci:
Avec
DELIMITER $$
vous dire à MySQL que votre déclaration complète va deCREATE
àEND
. C'est juste du sucre syntaxique:DELIMITER
n'est même pas un mot clé SQL. HeidiSQL, par exemple, fournit une interface graphique avec une zone de texte où vous écrivez le corps de la procédure, donc vous n'avez pas besoin de le DÉLIMITEUR de solution de contournement.Juste au cas où un débutant est à la recherche d'un tutoriel à partir du zéro, voici un tutoriel utile pour SP dans MYSQL WOrkbench: youtube.com/watch?v=WdievoP6570
OriginalL'auteur Álvaro González