Пейджинг в базе данных Advantage - PullRequest
4 голосов
/ 18 февраля 2010

Я создаю веб-приложение, которое работает на сервере базы данных Advantage. Не мое личное оружие, а то, что компания использует. У меня есть пара больших списков, которые конечные пользователи должны иметь возможность просматривать, однако я не могу найти способ просмотреть результаты в SQL.

Есть ли что-то вроде LIMIT / OFFSET для базы данных Advantage? Если нет, есть ли какие-либо предложения по поводу этого?

Заранее спасибо!

Ответы [ 3 ]

6 голосов
/ 18 февраля 2010

Я понимаю, что LIMIT и ROWNUM будут новыми функциями в следующей версии Advantage.http://feedback.advantagedatabase.com/forums/2671-general/suggestions/30213-return-query-specific-row-number-?ref=title

Однако до этого я использовал это в прошлом, чтобы выбрать строку 50-60.

выбрать топ 10 * из таблицы, где rowid нет (выберите топ 50 rowid изmytable)

@ tommieb75, вы указали, что диалект SQL не является стандартным.Я обнаружил, что он основан на стандартах, содержащих большую часть стандарта SQL-92 и некоторые функции SQL-2003.

2 голосов
/ 02 августа 2012

Обновление здесь для любого камня преткновения, но, как отметил Эдгар в своем ответе, Advantage 10 SQL теперь поддерживает ключевое слово START AT.

SELECT TOP 10 START AT 11 * FROM emp

См .: devzone.advantagedatabase.com / dz/webhelp/Advantage10.1/master_limiting_query_results.htm

1 голос
/ 18 февраля 2010

Согласно это , правильный синтаксис для LIMIT в Advantage - SELECT TOP 10 * FROM YOURTABLE

...