Можно использовать ROW_NUMBER()
функция для получения то, что Вы хотите:
SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY id) RowNr, id FROM tbl) t
WHERE RowNr BETWEEN 10 AND 20
Я не верю, что AJAX может обрабатывать загрузку файлов, но этого можно достичь с помощью библиотек, использующих flash. Еще одно преимущество флэш-реализации - возможность одновременного выполнения нескольких файлов (например, gmail).
SWFUpload - хорошее начало: http://www.swfupload.org/documentation
jQuery и некоторые из в других библиотеках есть плагины, использующие SWFUpload. В моем последнем проекте мы без проблем использовали SWFUpload и Java.
Также полезно и заслуживает внимания Apache FileUpload: http://commons.apache.org/fileupload/index.html
Существует два распространенных подхода: отправить форму в невидимый iframe или использовать элемент управления Flash, например YUI Uploader . Вы также можете использовать Java вместо Flash, но это имеет более узкую базу для установки.
(Позор за таблицу макетов в первом примере)
Последний dwr ( http: //directwebremoting.org/dwr/index.html) имеет загрузку файлов ajax с примерами и приятными вещами для пользователей (например, индикаторами прогресса и т.п.).
Он выглядит довольно изящно, и dwr в целом довольно прост в использовании, так что это тоже будет неплохо.