Как ограничить количество результатов, возвращаемых в Sybase?

Аналогично другим тестам для проверки версии Windows NT:

OSVERSIONINFO   vi;

memset (&vi, 0, sizeof vi);
vi .dwOSVersionInfoSize = sizeof vi;
GetVersionEx (&vi);
if (vi.dwPlatformId == VER_PLATFORM_WIN32_NT  &&  vi.dwMajorVersion >= 6)
26
задан Adexe Rivera 30 December 2014 в 08:15
поделиться

2 ответа

Я считаю, что вы можете сначала выполнить SET ROWCOUNT 10 , а затем все запросы в этом сеансе до следующего SET ROWCOUNT ] вернет не более 10 строк. Как указано в комментарии, это влияет на все следующие запросы в сеансе (не только на SELECT s!), Пока не будет отключено (установкой на 0) или установлено иначе - это «глобальный» "эффект делает его менее удобным, чем типичное предложение LIMIT других движков, которое по своей сути предназначено для каждого запроса, но я не думаю, что вы можете что-то с этим поделать.

22
ответ дан 28 November 2019 в 06:32
поделиться

With Sybase 12.5 and later you can use the top predicate in your select statement. This is a non-ANSI feature which MSSQL has had for quite a while.

select top 10 * from people

You can't use top in subqueries, updates, or deletes, and there is no corresponding 'bottom' clause.

The advantage of top is you don't have to worry about resetting it. This is especially important if you are using a database connection pool.

44
ответ дан 28 November 2019 в 06:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: