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

Comment appeler une procédure stockée dans MySQL

青灯夜游
Libérer: 2022-01-24 16:45:36
original
12629 Les gens l'ont consulté

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[...]]);
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal