Maison  >  Article  >  base de données  >  Comment appeler une procédure stockée dans MySQL

Comment appeler une procédure stockée dans MySQL

青灯夜游
青灯夜游original
2022-01-24 16:45:2712582parcourir

Dans MySQL, vous pouvez utiliser l'instruction CALL pour appeler une procédure stockée. Cette instruction reçoit le nom de la procédure stockée et tous les paramètres qui doivent lui être transmis. La syntaxe est "CALL sp_name([parameter[... ]]);".

Comment appeler une procédure stockée dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Appel de procédures stockées

L'instruction CALL est utilisée dans MySQL pour appeler des procédures stockées. Lorsqu'une procédure stockée est appelée, le système de base de données exécute les instructions SQL dans la procédure stockée et renvoie les résultats sous forme de valeurs de sortie.

L'instruction CALL reçoit le nom de la procédure stockée et tous les paramètres qui doivent lui être transmis. La syntaxe de base est la suivante :

CALL sp_name([parameter[...]]);

où sp_name représente le nom de la procédure stockée et paramètre représente les paramètres de. la procédure stockée.

Exemple 1 :

Créer une procédure stockée

  • Créer une procédure stockée nommée ShowStuScore La fonction de la procédure stockée est d'interroger les informations sur les notes de l'étudiant à partir du tableau d'informations sur les notes de l'étudiant

mysql> DELIMITER //
mysql> CREATE PROCEDURE ShowStuScore()
    -> BEGIN
    -> SELECT * FROM tb_students_score;
    -> END //
Query OK, 0 rows affected (0.09 sec)

Le résultat. affiche la procédure stockée ShowStuScore A été créée avec succès.

  • Créez une procédure stockée nommée GetScoreByStu. Le paramètre d'entrée est le nom de l'étudiant. La fonction de la procédure stockée est d'interroger les informations sur les notes de l'étudiant spécifié à partir du tableau d'informations sur les notes de l'étudiant en entrant le nom de l'étudiant

mysql> DELIMITER //
mysql> CREATE PROCEDURE GetScoreByStu
    -> (IN name VARCHAR(30))
    -> BEGIN
    -> SELECT student_score FROM tb_students_score
    -> WHERE student_name=name;
    -> END //
Query OK, 0 rows affected (0.01 sec)

Appelez la procédure stockée

  • Appelez les procédures stockées nommées ShowStuScore et GetScoreByStu

mysql> DELIMITER ;
mysql> CALL ShowStuScore();
+--------------+---------------+
| student_name | student_score |
+--------------+---------------+
| Dany         |            90 |
| Green        |            99 |
| Henry        |            95 |
| Jane         |            98 |
| Jim          |            88 |
| John         |            94 |
| Lily         |           100 |
| Susan        |            96 |
| Thomas       |            93 |
| Tom          |            89 |
+--------------+---------------+
10 rows in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)

mysql> CALL GetScoreByStu('Green');
+---------------+
| student_score |
+---------------+
|            99 |
+---------------+
1 row in set (0.03 sec)
Query OK, 0 rows affected (0.03 sec)

Parce que le stockage Une procédure est en fait une fonction, il doit donc y avoir un symbole () après le nom de la procédure stockée, même si aucun paramètre n'est transmis.

【Recommandation associée : tutoriel vidéo mysql

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