Maison  >  Article  >  base de données  >  Tutoriel sur la création, l'ouverture et la fermeture de curseurs dans MySQL

Tutoriel sur la création, l'ouverture et la fermeture de curseurs dans MySQL

巴扎黑
巴扎黑original
2017-05-18 14:35:024040parcourir

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!

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