Il existe de nombreuses façons d'appeler des procédures et des fonctions stockées. Les procédures stockées doivent être appelées à l'aide de l'instruction call et les procédures stockées sont liées à la base de données. Si vous souhaitez exécuter des procédures stockées dans d'autres bases de données, vous devez spécifier le nom de la base de données. Par exemple, appelez dbname.procname. Les fonctions stockées sont appelées de la même manière que les fonctions prédéfinies dans MySQL.
(recommandation d'apprentissage gratuite : tutoriel vidéo mysql)
1. Appel de procédures stockées
La procédure stockée est appelée via l'instruction call La syntaxe est la suivante :
call sp_name([parameter[,...])
L'instruction call appelle une procédure stockée préalablement créée avec create procédure, où sp_name. est le nom de la procédure stockée, le paramètre est le paramètre de la procédure stockée.
[Exemple 1] Définissez une procédure stockée nommée CountProcl, puis appelez cette procédure stockée.
Définir la procédure stockée :
mysql> delimiter //mysql> create procedure CountProcl(in sid int ,out num int) -> begin -> select count(*) into num from fruits where s_id = sid; -> end //Query OK, 0 rows affected (0.06 sec)mysql> delimiter ;
Appeler la procédure stockée :
mysql> call CountProcl (101,@num);Query OK, 1 row affected (0.08 sec)
Voir les résultats renvoyés :
mysql> select @num;+------+| @num |+------+| 3 |+------+1 row in set (0.00 sec)
La procédure stockée a renvoyé le fruit avec le spécifié s_id=101 Le type de fruit fourni par le fournisseur, la valeur de retour est stockée dans la variable num, utilisez select pour voir, le résultat de retour est 3.
2. Appeler les fonctions stockées
Dans MySQL, l'utilisation des fonctions stockées est la même que l'utilisation des fonctions internes de MySQL. Autrement dit, les fonctions stockées définies par l'utilisateur ont la même nature que les fonctions internes de MySQL.
[Exemple 2] Définissez la fonction de stockage CountProc2, puis appelez cette fonction Le code est le suivant :
mysql> delimiter //mysql> create function CountProc2 (sid int) -> returns int -> begin -> return (select count(*) from fruits where s_id = sid); -> end//Query OK, 0 rows affected (0.06 sec)mysql> delimiter ;
Appelez la fonction de stockage :
mysql> delimiter ;mysql> select CountProc2(101);+-----------------+| CountProc2(101) |+-----------------+| 3 |+-----------------+1 row in set (0.05 sec)
Comme vous pouvez. voyez, cet exemple est similaire au précédent. Les résultats renvoyés dans l'exemple sont les mêmes. Bien que les définitions des fonctions stockées et des procédures stockées soient légèrement différentes, les mêmes fonctions peuvent être obtenues.
Plus de recommandations d'apprentissage gratuites connexes : tutoriel MySQL(vidéo)
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!