Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизНомер по порядку Найти похожие ветки
← →
Faeton08 © (2004-08-10 09:46) [0]Добрый день.
Не подскажите как в Select добавить искуственный номер по порядки,если такого поля в нет
← →
Соловьев © (2004-08-10 09:48) [1]СУБД?
ЗЫ А зачем?
← →
Faeton08 © (2004-08-10 09:51) [2]Я пишу отчеты для Lotus через ODBC драйвер,базу изменять не могу,а узеру треба номер по порядку
← →
Соловьев © (2004-08-10 09:53) [3]ну навряд ли эта СУБД поддерживает в СКЛ номер по порядку, лучше при формировании отчета построчно заведи счетчик и выводи
← →
Faeton08 © (2004-08-10 09:56) [4]Это я тоже знаю,просто Lotus и так не структуированная база данных и скорость обработки данных медленная,так что борюсь за кождую минуту.
← →
roottim © (2004-08-10 12:44) [5]>Я пишу отчеты
все отчеты (по крайней мере в Delphi) снабжены такими средствами как #строки по порядку.
к примеру в FR это будет [LINE#]
← →
jack128 © (2004-08-10 12:50) [6]
> так что борюсь за кождую минуту.
средствами SQL такая задача выполняется медленее, чем клиентским приложением..
← →
Соловьев © (2004-08-10 12:56) [7]
> средствами SQL такая задача выполняется медленее, чем клиентским
> приложением..
таких средств нет ни в одном СКЛ, а есть системная инфа - она берется из данных сервера. Это на быстрее чем на клиенте, так как считать не надо - эта информация есть уже.
← →
jack128 © (2004-08-10 13:07) [8]
> таких средств нет ни в одном СКЛ,
ты знаешь все диалекты SQL что б так категорично заявлять? ;-)
SELECT GEN_ID(MYGEN, 1), FIELD1, FIELD2, FIELD3, ... FROM MYTABLE :-) Правда генератор обнулить сначало нужно..
> а есть системная инфа - она берется из данных сервера. Это
> на быстрее чем на клиенте, так как считать не надо - эта
> информация есть уже
Она(информация) есть.. Где то.. Её нужно откопать и переслать клиенту..На это уходит время.. Моё ИМХО - считать порядковый номер записи - это задача клиента
← →
Anatoly Podgoretsky © (2004-08-10 13:11) [9]jack128 © (10.08.04 13:07) [8]
Не прокатит в многопользовательской, номера то будут, но не подряд. И еще не дай бог другой произведет обнуление :-)
← →
Danilka © (2004-08-10 13:13) [10][7] Соловьев © (10.08.04 12:56)
В Орокле есть rownum. :)
← →
Danilka © (2004-08-10 13:14) [11]Но это, конечно, не стандарт, и кроме орокла нигде не прокатит
← →
Соловьев © (2004-08-10 13:17) [12]
> В Орокле есть rownum. :)
и это что средствами СКЛ вычисляются? или сервер дает нужную инфу?
← →
Danilka © (2004-08-10 13:20) [13][12] Соловьев © (10.08.04 13:17)
ээ, немного не понял вопроса :)
select rownum, t.* from table1 t
вернет всю таблицу table1, плюс первая колонка - номер по-порядку начиная с 1.
← →
Соловьев © (2004-08-10 13:22) [14]
> ээ, немного не понял вопроса :)
>
> select rownum, t.* from table1 t
> вернет всю таблицу table1, плюс первая колонка - номер по-порядку
> начиная с 1.
та понял:)
инфа откуда о номере записи?
← →
jack128 © (2004-08-10 13:28) [15]
> [9] Anatoly Podgoretsky ©
да я понимаю.. Вон - у Данилки более коректный пример.
> инфа откуда о номере записи?
от туда же откуда и инфа о t.* ;-) Все сервер выдает
← →
Danilka © (2004-08-10 13:29) [16][14] Соловьев © (10.08.04 13:22)
Угу, что-то типа номера записи возвращаемого набора данных.
← →
Соловьев © (2004-08-10 13:33) [17]
> от туда же откуда и инфа о t.* ;-) Все сервер выдает
вот мы и пришли к тому что я хочу сказать - что сервер уже хранит эту информацию(в системных таблицах или памяти), так что вычислять не надо...Значит быстрее.
← →
Sergey13 © (2004-08-10 13:41) [18]2[11] Danilka © (10.08.04 13:14)
>Но это, конечно, не стандарт, и кроме орокла нигде не прокатит
Он и на оракле не прокатит, если добавить order by. Ибо вычисляется при извлечении до сортировки.
← →
Danilka © (2004-08-10 13:55) [19][18] Sergey13 © (10.08.04 13:41)
Специально проверил:
select rownum, t.* from firm t order by firm
и
select rownum, t.* from firm t order by cont
порядок записей разный, первая колонка - числа с 1 до 12-и по-порядку.
Орокол 8.1.7
← →
Sergey13 © (2004-08-10 14:04) [20]2[19] Danilka © (10.08.04 13:55)
Значит повезло (может таблица маленькая или влияние индексов). Я перепроверил на том же 8.1.7 порядок сбивается. Попробуй на таблице побольше.
← →
Danilka © (2004-08-10 14:07) [21][20] Sergey13 © (10.08.04 14:04)
Хм, действительно, сделал ордер бай по полю на котором нет индекса - сбивается. :((
Буду знать.
← →
roottim © (2004-08-10 15:11) [22]ты вот так еще попробуй :)).. чтобы знать...
select rownum, r.* from (select * from .. order by ...) r
← →
Danilka © (2004-08-10 15:13) [23][22] roottim © (10.08.04 15:11)
номано, не сбивается. :))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.055 c