CRIAR PROCEDIMENTO `justifyGroupNum`() NÃO DETERMINISTA DEFINTOR DE SEGURANÇA SQL COMENTE '' COMEÇAR /*como executar:chamar justifyGroupNum()*/ DECLARE p_group_id int; declare p_num int; declare stopFlag int; DECLARE cursor_name CURSOR PARA selecione c_group_id,count(*) como num de `t_group_member` onde c_válido em (3,4) agrupar por c_group_id; DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1; ABRIR nome_cursor; REPITA BUSCAR nome_do_cursor INTO p_group_id,p_num; começar atualizar t_groupinfo definir c_member_number=p_num onde c_group_id=p_group_id; fim; ATÉ stopFlag = 1 FIM REPETIR; FECHAR nome_cursor; FIM; |
Resumo:
1. Preste atenção à configuração do manipulador de contagem do cursor: DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
2. Preste atenção ao uso de REPEAT e UTILE [condição de parada] END REPEAT, caso contrário não fará loop;
3. Como EXECUTAR, inserir e executar :call justifyGroupNum()