DROP PROCEDURE IF EXISTS `procedure_foo`;
DELIMITER $$
CREATE PROCEDURE `procedure_foo`()
BEGIN
DECLARE i INTEGER UNSIGNED DEFAULT 0;
DECLARE i_max INTEGER UNSIGNED DEFAULT 50;
START TRANSACTION;
WHILE i < i_max DO
-- INSERT SQL HERE
SET i = i + 1;
END WHILE;
COMMIT;
END
$$
delimiter ;
CALL procedure_foo();
DROP PROCEDURE procedure_foo;