mysql crée un curseur
Les curseurs sont créés à l'aide de l'instruction DECLARE. DECLARE nomme le curseur et définit l'instruction SELECT correspondante, avec WHERE et d'autres clauses si nécessaire. Par exemple, l'instruction suivante définit un curseur nommé ordernumbers, à l'aide d'une instruction SELECT qui récupère toutes les commandes.
Entrée :
create procedure processorders() begin declare ordernumbers cursor for select order_num from orders; end;
Analyse : Cette procédure stockée ne fait pas grand chose. L'instruction DECLARE est utilisée pour définir et nommer le curseur, ici ce sont les numéros de commande. Une fois le traitement de la procédure stockée terminé, le curseur disparaît (car il est limité à la procédure stockée). Après avoir défini le curseur, vous pouvez l'ouvrir.
mysql ouvre et ferme les curseurs
Le curseur est ouvert avec l'instruction OPEN CURSOR :
Entrée :
open ordernumbers;
Analyse : la requête est exécutée pendant le traitement de l'instruction OPEN et les données récupérées sont stockées pour la navigation et le défilement.
Une fois le traitement du curseur terminé, l'instruction suivante doit être utilisée pour fermer le curseur :
Entrée :
close ordernumbers;
Analyse : CLOSE libère toute la mémoire interne et les ressources utilisées par le curseur, donc dans Chaque curseur doit être fermé lorsqu'il n'est plus nécessaire.
Une fois un curseur fermé, il ne peut plus être utilisé sans le rouvrir. Cependant, il n'est pas nécessaire de le déclarer à nouveau pour utiliser un curseur déclaré, il suffit de l'ouvrir avec l'instruction OPEN.
Fermeture implicite Si vous ne fermez pas explicitement le curseur, MySQL le fermera automatiquement lorsque l'instruction END sera atteinte.
Ce qui suit est une version modifiée de l'exemple précédent :
Entrée :
create procedure processorders() BEGIN -- declare the cursor declare ordernumbers cursor for select order_num from orders; -- Open the cursor Open ordernumbers; -- close the cursor close ordernumbers; END;
Analyse : Cette procédure stockée déclare, ouvre et ferme un curseur. Mais rien n'est fait avec les données récupéré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!