All pastes #616951 Raw Edit

aoirthoir

public text v1 · immutable
#616951 ·published 2007-07-12 23:01 UTC
rendered paste body

DELIMITER $$

DROP PROCEDURE IF EXISTS `changelevel`$$

CREATE PROCEDURE `changelevel`()

changelevel:BEGIN

  DECLARE cpath TEXT;
  DECLARE ctype CHAR(1);
  DECLARE ccount INT;


  DECLARE lastrow int;

  DECLARE cursorlevels CURSOR FOR
    SELECT count(*), `path`, `type`
    FROM `users`
    GROUP BY `path`, `type`;

  DECLARE CONTINUE HANDLER FOR 1329 SET lastrow=1;


  SET lastrow = 0;
  OPEN cursorlevels;
    loop1:LOOP
    FETCH cursorlevels INTO ccount, cpath, ctype;

    IF lastrow = 1 THEN
      leave loop1;
    END IF;

    UPDATE `users`
      SET level = ccount
      WHERE path = cpath and type = ctype;

  END LOOP loop1;

  close cursorlevels;

  LEAVE changelevel;

END$$

DELIMITER ;