Gupta SQL Базовое ограничение на количество возвращаемых строк - PullRequest
0 голосов
/ 21 февраля 2020

Я часами искал, как вернуть ограниченный набор строк, подобных SELECT TOP 100 * FROM CUSTOMER, или SELECT * FROM CUSTOMER LIMIT 100, или SELECT * FROM CUSTOMER WHERE ROWNUM <= 100, и я не могу найти способ сделать это с этой конкретной базой данных. .

Версия базы данных - 10.1.46, и я нашел документацию для более поздней версии SQLBase, в которой говорится, что следует использовать ключевое слово Limit, но ничего не помогло при попытке ограничить количество возвращаемых строк. используя я sql. SQL Подготовьте ошибки, которые будут брошены. Я в растерянности относительно того, как это сделать, и я начинаю думать, что база данных просто не поддерживает ограничение количества возвращаемых строк.

Я надеюсь, что кто-то знает, как я могу ограничить количество возвращенных записей.

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Что касается, limit реализовано в Base SQL с использованием параметров сеанса:

SET LIMIT 100
SELECT * FROM CUSTOMER;
SET LIMIT OFF
0 голосов
/ 23 февраля 2020

В качестве альтернативы «LIMIT» вы можете использовать «PERFORM», а затем «FETCH» в SQLTalk:

PREPARE SELECT * from CUSTOMER ORDER BY <column1> DESC;
PERFORM;
FETCH 100;

или, если вы используете TeamDeveloper,

Просто:

SqlPrepareAndExecute( hSql, 'SELECT * from CUSTOMER ORDER BY <column1> DESC')
While nPtr < 101
Call SqlFetchNext(hSql,nReturn)

После v11.7 вы можете использовать следующий синтаксис:

SELECT * FROM CUSTOMER LIMIT 100

ps Если вам нужны руководства по SQLBase для любой версии v8 - v12.2 go здесь: Руководства по SQLBase (все версии)

...