loading..
Русский    English
02:32
листать

Постраничная разбивка записей (пейджинг) стр. 4

Новые возможности стандарта, которые были реализованы в  Cистема управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL Server 2012, делают разбивку на страницы очень простой операцией. Речь идет о новых необязательных конструкциях в предложении ORDER BY, а именно, OFFSET и FETCH. C их помощью можно указать сколько строк из результата запроса возвращать (FETCH) клиенту и начиная с какой строки (OFFSET) это делать.

Теперь расширенный синтаксис предложения ORDER BY имеет вид:

  1. ORDER BY <выражение>
  2.     [ ASC | DESC ]
  3.     [ ,...n ]
  4. [
  5. OFFSET <целочисленное_выражение_1> { ROW | ROWS }
  6. [FETCH { FIRST | NEXT } <целочисленное_выражение_2> { ROW | ROWS } ONLY]
  7. ]

FIRST и NEXT являются синонимами, как и ROW с ROWS, т.е. можно использовать любой из двух вариантов.

целочисленное_выражение_2 определяет число возвращаемых строк, а целочисленное_выражение_1 - количество строк от начала отсортированного набора, которое следует пропустить перед выводом. Если предложение FETCH отсутствует, то выводиться будут все строки, начиная с целочисленное_выражение_1 + 1.

С учетом новых возможностей процедуру постраничного вывода строк, которая была рассмотрена выше, можно реализовать совсем просто:

  1. CREATE PROC paging
  2.   @n int =2 -- число записей на страницу, по умолчанию 2
  3. , @p int =1 -- номер страницы, по умолчанию - первая
  4. AS
  5. SELECT * FROM Laptop
  6. ORDER BY price DESC OFFSET @n*(@p-1) ROWS FETCH NEXT @n ROWS ONLY;

Заметим, что стандартный синтаксис предложения ORDER BY поддерживает также PostgreSQL.

Рекомендуемые упражнения: 107

Bookmark and Share
Страницы: 1 2 3 4
Тэги:
ALL AND AUTO_INCREMENT AVG battles CASE CAST CHAR CHARINDEX CHECK classes COALESCE CONSTRAINT Convert COUNT CROSS APPLY CTE DATEADD DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FOREIGN KEY FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INFORMATION_SCHEMA INNER JOIN insert INTERSECT IS NOT NULL IS NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker Больше тэгов
Учебник обновлялся
несколько дней назад
обмен с capitalist
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.
Rambler's Top100