Exemplo de utilização de cursores no Mysql.

CREATE PROCEDURE `Proc1` ()
BEGIN
  DECLARE done INT DEFAULT 0;
  DECLARE nome CHAR(45);

  DECLARE cur1 CURSOR FOR SELECT nome FROM usuarios;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

  OPEN cur1;

  REPEAT
    FETCH cur1 INTO nome;
    IF NOT done THEN
       INSERT INTO usuarios2 (nome) VALUES (nome);
    END IF;
  UNTIL done END REPEAT;
  CLOSE cur1;
END

flw