PROZEDUR „justifyGroupNum“ () ERSTELLEN NICHT DETERMINISTISCH SQL-SICHERHEITSDEFINER KOMMENTAR '' BEGINNEN /*wie man es ausführt:call justifyGroupNum()*/ DECLARE p_group_id int; deklariere p_num int; deklariere stopFlag int; Cursorname CURSOR DECLARE FOR wählen Sie c_group_id,count(*) als Zahl aus von `t_group_member` wo c_valid in (3,4) gruppieren nach c_group_id; DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1; OPEN Cursorname; WIEDERHOLEN FETCH Cursorname INTO p_group_id,p_num; beginnen update t_groupinfo set c_member_number=p_num where c_group_id=p_group_id; Ende; BIS stopFlag = 1 ENDE WIEDERHOLUNG; CLOSE Cursorname; ENDE; |
Zusammenfassung:
1. Achten Sie auf die Einstellung des Countinue-Handlers des Cursors: DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1
2. Achten Sie auf die Verwendung von REPEAT und UTILE [Stoppbedingung] END REPEAT, sonst wird keine Schleife ausgeführt;
3. So führen Sie :call justifyGroupNum() aus, geben es ein und führen es aus