CRÉER UNE PROCÉDURE `justifyGroupNum`() PAS DÉTERMINISTE DÉFINEUR DE SÉCURITÉ SQL COMMENTAIRE '' COMMENCER /*comment exécuter : appeler justifierGroupNum()*/ DÉCLARE p_group_id int; déclarer p_num int ; déclarer stopFlag int ; DÉCLARE nom_curseur CURSEUR POUR sélectionner c_group_id,count(*) comme num de `t_group_member` où c_valid dans (3,4) regrouper par c_group_id ; DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1 ; OPEN nom_curseur ; RÉPÉTER FETCH curseur_name INTO p_group_id,p_num ; commencer mettre à jour t_groupinfo définir c_member_number=p_num où c_group_id=p_group_id ; fin; JUSQU'à ce que stopFlag = 1 FIN DE LA RÉPÉTITION ; FERMER nom_curseur ; FIN; |
Résumé :
1. Faites attention à définir le gestionnaire de compte du curseur : DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
2. Faites attention à l'utilisation de REPEAT et UTILE [stop condition] END REPEAT, sinon il ne bouclera pas ;
3. Comment exécuter, saisir et exécuter :call justifierGroupNum()