CREATE PROCEDURE pageTest --Проверка перелистывания страниц
--Вам необходимо поместить поле сортировки в первый столбец
(
@FirstID nvarchar(20)=null, --Значение поля сортировки первой записи на текущей странице.
@LastID nvarchar(20)=null, --значение поля сортировки последней записи на текущей странице.
@isNext bit=null, --true 1: следующая страница false 0: предыдущая страница;
@allCount int output, --Возвращает общее количество записей
@pageSize int output, --возвращает количество записей на одной странице
@CurPage int --Номер страницы (страница) 0: первая страница -1 последняя страница;
)
КАК
если бы @CurPage=0
начинать
--Статистическое общее количество записей
выберите @allCount=count(ProductId) из Product_test
установите @pageSize=10
--Вернем данные первой страницы
выбрать 10 лучших
Идентификатор продукта,
Название продукта,
Введение
из заказа Product_test по ProductId
конец
else, если @CurPage=-1
выберите * из
(выберите 10 лучших ProductId,
Название продукта,
Введение
из заказа Product_test по ProductId desc) как aa
заказать по идентификатору продукта
еще
начать
если @isNext=1
--перейти на следующую страницу
выберите 10 лучших ProductId,
Название продукта,
Введение
из Product_test, где ProductId > @LastID, упорядочить по ProductId
еще
--перейти на предыдущую страницу
выберите * из
(выберите 10 лучших ProductId,
Название продукта,
Введение
из Product_test, где ProductId < @FirstID order по ProductId desc) как заказ bb по ProductId
конец
Пролистывание миллионов страниц данных похоже на 100 фрагментов данных!