Пагинация sql запрос - PullRequest
       1

Пагинация sql запрос

1 голос
/ 17 апреля 2011

Почему этот запрос не работает в Sql Server 2008?

Select Top @PageSize Skip @Page * @PageSize * From someTable

Странно, даже если это не работает: -

Select Top @PageSize * From Tree

Но этот работает: -

Select Top 10 * From Tree

Это утверждение находится внутри хранимой процедуры.

Заранее спасибо:)

Ответы [ 2 ]

2 голосов
/ 17 апреля 2011

вам нужны скобки

Select Top ( @PageSize ) * From Tree

Однако без заказа это не имеет большого смысла

SKIP не является допустимым синтаксисом SQL Server, первый запрос не будет работать

2 голосов
/ 17 апреля 2011

Ваш первый запрос вообще не является допустимым синтаксисом.

Второй нужен только в скобках (и должен иметь ORDER BY)

Select Top (@PageSize) * 
From Tree
ORDER BY /*TODO: Add column(s)*/

Чтобы достичь того, что вы явно пытаетесь сделать в первом случае, вы можете использовать ROW_NUMBER и BETWEEN, как в этом ответе T-SQL Пропустить хранимую процедуру

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...