Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пронумеровать строки в ДБГриде, причем когда я делаю сортировку.. [D6]


Страницы:   1 2 3

Relaxxx ©   (2003-09-03 14:48:00) 

Пронумеровать строки в ДБГриде, причем когда я делаю сортировку по какому то полю это поле не сортируется как все остальные. Да и RowNum не подходит у веня версия оракла старовата и он неправельно работает когда используеш ордер бай


Sergey13   (2003-09-04 14:16:00) [21]

Vlad © (04.09.03 14:03) [29]
> Одна беда - open source нет !
Тебе open именно или просто source? 8-)
Глянь на http://oraclebones.narod.ru/


Vlad   (2003-09-04 14:03:00) [22]

>DenK_vrtz © (04.09.03 13:49) [25]
Чесно сказать, я не был уверен что в восьмерке это запашет.
Но в девятке сортирует именно в порядке индекса. А план должен показать - подцепил он этот индекс или нет.
А насчет DOA, спец. литературы никакой нет, все осваивал по хелпу. Тут вобщем достаточно подробно все описано. Одна беда - open source нет !
Но если найду чего - пришлю.

Sergey13 © (04.09.03 13:49) [26]
>Чесно говоря с оптимизатором не оч. знаком. Поэтому не могу сказать точно.


DenK_vrtz   (2003-09-04 14:03:00) [23]

Sergey13 ©, спасибо огромное!!!


Sergey13   (2003-09-04 13:58:00) [24]

2DenK_vrtz © (04.09.03 13:49) [25]
Я тебе выслал доку по v3.4. Придет попозже - почта у меня так работает. 8-(

А вот еще интересно, а в случае с одинаковым значением индексного поля порядок чем будет задаваться? И будет ли он постоянным?

А вообще мой вопрос к автору остается в силе - НА ФИГА?

ЗЫ: А Relaxxx наверное расслабляется. 8-)


Sergey13   (2003-09-04 13:49:00) [25]

2Vlad © (04.09.03 12:04) [23]
А вот интересно - если по умолчанию стоит RULE, то хинты вообще работать будут? Ини же вроде только для стоимостного предназначены. Или я ошибаюсь?


DenK_vrtz   (2003-09-04 13:49:00) [26]

Vlad ©, продолжаем разговор :-)
Так вот. Я вот одного не могу понять почему на девятке это пашет?
Спросил у администратора базы и вместе с ним литературу глянули.
Конструкция или хинт /*+index(tablename index)*/, говорит о том, чтобы просматривать таблицу с помощью установленного индекса, но не упорядочивать данные в зависимости от него!
Может в девятке, что-то поменялось?!
План ничего дельного не показывает, типа выбрал все и все!

Да, еще. У тебя случайно нет литературы в электронном виде (желательно на русском) с примерами по работе с DOA?
Если есть, скинь на мыло, пожалуйста, очень надо!


Vlad   (2003-09-04 12:06:00) [27]

Самое интересное что у меня на девятке такая конструкция пашет :)


Vlad   (2003-09-04 12:04:00) [28]

Гы :) Думаю что-то в настройках оптимизатора...
А если просто попробовать:
select /*+index(mon By_Date_CHET)*/ Date_chet FROM mon
Тоже не будет сортировать ?
План запроса что говорит ?


DenK_vrtz   (2003-09-04 11:59:00) [29]

Индекс есть, НО, записи в запросе сортируются по значению primary key


Vlad   (2003-09-04 11:56:00) [30]

>DenK_vrtz © (04.09.03 11:51) [20]
Думаю что нет индекса с именем By_Date_Chet


DenK_vrtz   (2003-09-04 11:51:00) [31]

Vlad ©,
Sergey13 ©,
попробовал я конструкцию вида
select rownum, a.* from (select /*+index(mon By_Date_CHET)*/ Date_chet
FROM mon) a, в 8.0.5 работает, но
записи почему то не сортирует

Почему?


Vlad   (2003-09-04 11:45:00) [32]

>Sergey13 © (04.09.03 11:43) [17]
Хинты в оракле, конечно скользкая штука....
Но если есть гарантия что никто не удалит индекс, то должно работать корректно.


Vlad   (2003-09-04 11:43:00) [33]

Sergey13 © (04.09.03 11:34) [16]
Ну да, нехорошо конечно давать такие алиасы. Я бы так не делал.
Но тем не менее, Оракл проглатывает.
Вобщем, Relaxxx ©, уважаемый, сдается мне что тебе нужно создать индекс по полю Date_chet (если такового нет) и использовать конструкцию, приведенную мной в [15]. Должно работать.


Sergey13   (2003-09-04 11:43:00) [34]

2Vlad © (04.09.03 11:26) [15]
>Как думаешь, сработает ?
ИМХО, может помочь, но гарантии никто не даст. Помню обсуждение (не здесь) о сортировках внутри веток в дереве. Тогда сошлись на этом.
Остается вопрос - зачем все это надо, причем с такими извратами.


Sergey13   (2003-09-04 11:34:00) [35]

Vlad © (04.09.03 11:15) [14]
>А то что он совпадает с именем поля - так это ничего страшного.
Совпадающий с именем поля? Странный алиас, ИМХО.
Хотя.... щас попробовал - на 8.1.6 отработало. Странно. 8-( Может на эту "странность" 8.0.5 и ругается? Проверить не начем.

Блин, DenK_vrtz © (04.09.03 11:07) [12] уже попробовал. 8-)


Vlad   (2003-09-04 11:26:00) [36]

>DenK_vrtz © (04.09.03 11:07) [12]
А если попробовать индекс вместо ORDER BY использовать ? (если он есть конечно)
select rownum, a.* from (select /*+index(mon By_Date_CHET)*/ Date_chet
FROM mon) a
Как думаешь, сработает ?


Vlad   (2003-09-04 11:15:00) [37]

Sergey13 © (04.09.03 11:09) [13]
Зачем ? Это простой алиас таблицы, что тут такого ?
А то что он совпадает с именем поля - так это ничего страшного.


Sergey13   (2003-09-04 11:09:00) [38]

2Vlad © (04.09.03 10:44) [9]
>что-то не понятно, что конкретно ему нужно исправить ?
Удалить из запроса выделенное мной Date_chet. Или пояснить мне что это такое. 8-)


DenK_vrtz   (2003-09-04 11:07:00) [39]

Vlad ©, все дело похоже в order by

Написал запросы вида:
(все в 8.0.5)
select rownum, поле from (select поле from таблица) - работает,
select поле from (select поле from таблица) - работает,
select rownum, поле from (select поле from таблица order by поле) - не работает
select поле from (select поле from таблица order by поле) - не работает


Vlad   (2003-09-04 10:56:00) [40]

DenK_vrtz © (04.09.03 10:51) [10]
К сож. нет под рукой 8.0.5.
A ты не мог бы проверить тоже, но без RowNum, будет работать ? Т.е. хотелось бы понять, в чем ошибка - в самой конструкции или в использовании RowNum ?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо