Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как пересортировать курсор / 4 сообщений из 4, страница 1 из 1
21.05.2003, 11:18:24
    #32164790
Sintetik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как пересортировать курсор
есть процедура, в ней открывается курсор, проходя по курсору, путем
сложного запроса выясняется для каждой строки еще одно поле, потом все это запихивается в отчет(прямо в процедуре, будь это на клиенте, проблемы бы не было). Т.е нужно как-то пройтись по курсору, добавить к нему поле и снова пересортировать. Насколько я знаю курсоры forwardonly, кроме временных таблиц как можно это сделать?
oracle 8.0.6
...
Рейтинг: 0 / 0
21.05.2003, 13:40:26
    #32165045
raven13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как пересортировать курсор
А как добавляется поле?
Может имеется возможность добавить его сразу ;-) или использовать в сортировке ?
...
Рейтинг: 0 / 0
21.05.2003, 13:51:59
    #32165063
Sintetik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как пересортировать курсор
я не точно описал, просто в цикле для каждой строки находится еще одно значение, реально оно конечно не добавляется, если б можно было я бы добавил сразу, запрос в курсоре и так на страницу.
...
Рейтинг: 0 / 0
21.05.2003, 22:37:12
    #32165586
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как пересортировать курсор
You could do something like this. Create a function:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
FUNCTION GET_ONE_MORE FIELD(p_Cursor_Field1 IN ...,
                            .
                            .
                            .
                            p_Cursor_FieldN IN ...
                           )
  RETURNS ...
  IS
  .
  .
  .
  BEGIN
      logic-to-calculate-one-more-field
END;
/


Now:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SELECT  Cursor_Field1,
        .
        .
        Cursor_FieldN,
        One_MOre_Field
  FROM  (
         SELECT  Cursor_Field1,
                 .
                 .
                 Cursor_FieldN,
                 GET_ONE_MORE FIELD(
                                    Cursor_Field1,
                                    .
                                    .
                                    Cursor_FieldN
                                   ) One_MOre_Field
           FROM  ...
           WHERE ...     -- <-- if you have any
 
           ORDER BY ...  -- <-- if you have any
 
        )
  ORDER BY ...


will give you what you need (assuming I understood your question).

SY.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как пересортировать курсор / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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