powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Простой вопрос
18 сообщений из 18, страница 1 из 1
Простой вопрос
    #32289293
Ващенков Алексей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Как указать в SQL запросе указать, количество выбираемых строк, если такое возможно в Sybase?

В MySql это задавалось параметром LIMIT [A,] B. Где А - Сдвиг первой строки, а В - количество выбираемых строк.
...
Рейтинг: 0 / 0
Простой вопрос
    #32289415
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для ASA - BOL, SELECT statement:
Код: plaintext
SELECT FIRST | TOP n [ START AT m ]

FIRST - выбрать только первую запись, TOP - кол-во записей, START AT - с какой начинать.

P.S. Обязательно указывайте для какой Sybase РСУБД вопрос - ASA и ASE имеют очень много различий и разных возможностей.
...
Рейтинг: 0 / 0
Простой вопрос
    #32290562
Alex Romanovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в ASE несработает.
...
Рейтинг: 0 / 0
Простой вопрос
    #32290889
Ващенков Алексей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я работаю с ASA 7, но данный синтаксис не работает :(((
Видно слишком старая версия.
Придёться ручками...
...
Рейтинг: 0 / 0
Простой вопрос
    #32290893
Ващенков Алексей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конкретно - ругается на Start at.
Код: plaintext
Select TOP  10  START AT  1  * from news order by id desc

Error
Код: plaintext
ASA Error - 131 : Syntax error near 'START'
...
Рейтинг: 0 / 0
Простой вопрос
    #32291016
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу - ругается. Поддержка START AT появилась только в 9 версии ASA.
...
Рейтинг: 0 / 0
Простой вопрос
    #32294545
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
set rowcount 100
select ...
set rowcount 0
...
Рейтинг: 0 / 0
Простой вопрос
    #32295233
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошее решение, но оно выберет только указанное кол-во строк, начиная с первой (аналогично SELECT TOP). А вот указать для SELECT сдвиг первой строки не сможет. В данном случае для всех ASA версий меньше девятой получается делать надо через временную таблицу, что конечно же печально.
...
Рейтинг: 0 / 0
Простой вопрос
    #32296074
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И опять никто внятно не может сказать, зачем это нужно?
Грустно однако...
...
Рейтинг: 0 / 0
Простой вопрос
    #32302346
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Ermak
отображать записи таблицы в окне и ходить по окну произвольным образом
...
Рейтинг: 0 / 0
Простой вопрос
    #32302386
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"отображать записи таблицы в окне и ходить по окну произвольным образом"

На мой взгляд это есть проблема клиентской части, но как не сервера. Клиент запросил данные, клиент их получил... Что он с ними будет делать не проблема сервера.

При работе с данными по классической схеме CS, есть две стороны клиент и сервер. И давайте будем правильно делить между ними работу, и учитывать это при проектировании приложения
...
Рейтинг: 0 / 0
Простой вопрос
    #32302413
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
us
во первых: это пример возможного применения, тоесть можно еще для чего нибудь использовать.
во вторых: если можно уменьшить кол-во строчек, которые пишет программист, почему бы не уменьшить их. в данном случае: упростить навигацию в окне.
в третьих: не хочешь не используй, и дели правильно.
...
Рейтинг: 0 / 0
Простой вопрос
    #32303749
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А еще top n позволяет не тащить по сети на клиент кучу записей. Where либо не всегда можно правильно задать, либо просто лень думать. Остановить выборку на клиенте тоже требует каких-то дополнительных усилий и потом не всякий клиент это позволяет сделать. Как ни крути top n гораздо более простое и короткое (6 символов) решение.
...
Рейтинг: 0 / 0
Простой вопрос
    #32303793
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про то, что результат запроса формируемого пользователем необходимо ограничивать, речи не идет.

Разговор идет про то, как можно выбрать записи допустим с 10 по 20.
Вот почему я спрашиваю зачем это нужно?
...
Рейтинг: 0 / 0
Простой вопрос
    #32304167
Aleksey Kh.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если уж так горит не тянуть все на клиента - я бы сделал через просмотры.
...
Рейтинг: 0 / 0
Простой вопрос
    #32304994
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Ermak
>Про то, что результат запроса формируемого пользователем необходимо ограничивать, речи не идет.

Так и я не про то, что это необходимо или нет, а про то, КАК это сделать. TOP N позволяет это сделать в 6 символов и без напряжения со стороны сервера и со стороны клиента. START AT N еще расширяет эту функциональность, правда тут могут быть проблемы с производительностью, но если не брать очень большие N, что почти всегда выполняется, то все будет нормально.

2 Aleksey Kh.
Использовать вью это то же самое, что использовать WHERE, т.е. не всегдаможно задать простой и удобный критерий. В общем случае я вообще не представляю, как это сделать.
...
Рейтинг: 0 / 0
Простой вопрос
    #32305035
L0cat0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишем функцию (допустим ASA)

которая работает с global temporary table
где по количеству ее вызовов меняется одно поле - счетчик
которое и возвращается

функцию - в select ...
как ограничить .. догадайтесь сами

PS. Не забывать сбрасывать перед выборкой
...
Рейтинг: 0 / 0
Простой вопрос
    #32305527
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 L0cat0r

>Пишем функцию (допустим ASA)
>которая работает с global temporary table ....

Явно больше 6 символов.

Да я же не спорю, что есть другие решения. Но TOP N самое простое по-моему.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Простой вопрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]