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[... ]]);".
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!