Vous devez temporairement modifier le délimiteur Ainsi, le client MySQL ne pense pas que vous avez terminé votre déclaration lorsqu'il voit le point-virgule à la ligne 3 :
DELIMITER //
CREATE PROCEDURE dorepeat(IN p1 INT)
BEGIN
DECLARE x INT DEFAULT 0;
REPEAT SET x = x + 1; UNTIL x > p1 END REPEAT;
END//
DELIMITER ;