Maison  >  Article  >  base de données  >  création de procédure stockée mysql

création de procédure stockée mysql

WBOY
WBOYoriginal
2023-05-12 10:55:372246parcourir

Les procédures stockées MySQL sont une méthode de stockage d'une série d'instructions SQL dans une base de données qui peut être appelée pour exécuter ces instructions en cas de besoin. La création de procédures stockées MySQL nécessite des connaissances de base en syntaxe SQL et quelques concepts de programmation.

Dans cet article, nous apprendrons comment créer une procédure stockée MySQL et illustrerons sa syntaxe de base et son processus de création à l'aide d'exemples.

  1. Syntaxe de base des procédures stockées

La syntaxe de base utilisée par les procédures stockées MySQL est la suivante :

CREATE PROCEDURE procedure_name()
BEGIN
-- SQL statements
END;

Parmi eux, CREATE PROCEDURE est le mot-clé de la procédure stockée MySQL, et procédure_name est le nom de la procédure stockée. Le bloc de code entre BEGIN et END est le code SQL exécuté par la procédure stockée.

Ce qui suit est un exemple de procédure stockée simple, utilisée pour interroger les informations sur les étudiants :

CREATE PROCEDURE GetStudent()
BEGIN
SELECT * FROM Student;
END;

La procédure stockée s'appelle GetStudent et sa fonction est de renvoyer toutes les données de la table de données Student.

  1. Paramètres des procédures stockées

Les procédures stockées MySQL peuvent accepter des paramètres d'entrée et des paramètres de sortie. Les paramètres d'entrée sont utilisés pour transmettre des données à la procédure stockée et les paramètres de sortie sont utilisés pour renvoyer les données de la procédure stockée. Parmi eux, les paramètres d'entrée et les paramètres de sortie doivent être spécifiés lors de la création de la procédure stockée.

Voici un exemple de procédure stockée avec des paramètres d'entrée :

CREATE PROCEDURE GetStudentByGrade(IN grade INT)
BEGIN
SELECT * FROM Student WHERE Grade = grade;
END;

La procédure stockée s'appelle GetStudentByGrade et elle a une note de paramètre d'entrée de type INT. Lorsque cette procédure stockée est appelée, elle renvoie tous les enregistrements d'élèves dont la note est égale à la note.

  1. Variables des procédures stockées

Les procédures stockées MySQL peuvent également utiliser des variables pour enregistrer des données. Ces variables peuvent être déclarées et utilisées dans le bloc de code de la procédure stockée.

Voici un exemple de procédure stockée avec des variables :

CREATE PROCEDURE GetStudentByClassName(IN class_name VARCHAR(50), OUT student_count INT)
BEGIN
DECLARE class_id INT;
SELECT ClassID INTO class_id FROM Class WHERE ClassName = class_name;
SELECT COUNT(*) INTO student_count FROM Student WHERE ClassID = class_id;
END;

La procédure stockée s'appelle GetStudentByClassName et elle a deux paramètres : un paramètre d'entrée class_name et un paramètre de sortie student_count. Il déclare d'abord une variable class_id, puis obtient la valeur de la variable via une requête. Enfin, il calcule le nombre d'étudiants associés à la classe via la requête et le stocke dans la variable student_count.

  1. Instructions de contrôle pour les procédures stockées

Les procédures stockées MySQL peuvent utiliser des instructions de contrôle pour contrôler l'exécution des blocs de code. Les instructions de contrôle de procédure stockée MySQL courantes incluent IF, CASE, WHILE et FOR.

Voici un exemple de procédure stockée utilisant une instruction de contrôle IF :

CREATE PROCEDURE GetStudentByID(IN student_id INT)
BEGIN
DECLARE student_name VARCHAR(50);
IF student_id <= 0 THEN
SET student_name = 'Invalid ID';
ELSE
SELECT StudentName INTO student_name FROM Student WHERE StudentID = student_id;
END IF;
SELECT student_name;
END;

La procédure stockée s'appelle GetStudentByID et elle a un paramètre d'entrée student_id. Il déclare d'abord une variable student_name, puis utilise une instruction de contrôle IF pour vérifier si la carte d'étudiant saisie est valide. S'il n'est pas valide, il renverra « ID invalide » ; s'il est valide, il interrogera la base de données et stockera le nom de l'étudiant trouvé dans la variable student_name.

  1. Création et utilisation de procédures stockées

La création de procédures stockées à l'aide de MySQL peut être réalisée via la ligne de commande MySQL ou MySQL Workbench.

Sous la ligne de commande MySQL, vous pouvez utiliser la commande suivante pour créer une procédure stockée :

CREATE PROCEDURE procedure_name()
BEGIN
-- SQL statements
END;

Ensuite, vous pouvez utiliser la commande suivante pour appeler la procédure stockée :

CALL procedure_name();

Sous MySQL Workbench, vous pouvez utiliser les étapes suivantes pour créer une procédure stockée :

  1. À gauche Dans le volet latéral, sélectionnez la base de données dans laquelle vous souhaitez créer la procédure stockée.
  2. Cliquez sur l'onglet "Procédures stockées".
  3. Cliquez sur « Nouvelle procédure stockée » dans la liste « Procédure stockée ».
  4. Écrivez le code SQL de la procédure stockée dans la zone d'instruction "CREATE PROCEDURE".
  5. Cliquez sur le bouton "Appliquer" pour créer la procédure stockée.

Après avoir créé la procédure stockée, vous pouvez utiliser la commande suivante pour appeler la procédure stockée sous la ligne de commande MySQL :

CALL procedure_name();

Sous MySQL Workbench, vous pouvez utiliser les étapes suivantes pour appeler la procédure stockée :

  1. Sélectionnez le procédure stockée à appeler dans la base de données de processus du volet gauche.
  2. Cliquez sur l'onglet "Procédures stockées".
  3. Recherchez la procédure stockée à appeler dans la liste "Procédure stockée".
  4. Entrez les paramètres de la procédure stockée (le cas échéant) dans la zone d'instruction "CALL".
  5. Cliquez sur le bouton "CALL" pour appeler la procédure stockée.
  6. Conclusion

Les procédures stockées MySQL sont un moyen de stocker du code SQL dans une base de données. En utilisant des procédures stockées, des requêtes SQL complexes ou des blocs de code SQL couramment utilisés peuvent être enregistrés dans la base de données pour une réutilisation ultérieure ou pour améliorer l'efficacité des requêtes. Cet article présente la syntaxe de base des procédures stockées MySQL, comment utiliser les paramètres, les variables et les instructions de contrôle, et comment créer et appeler des procédures stockées. Nous espérons que cet article pourra vous aider à comprendre les procédures stockées MySQL et à les utiliser dans un travail réel pour améliorer l'efficacité des opérations de base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn