powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как пересортировать курсор
4 сообщений из 4, страница 1 из 1
как пересортировать курсор
    #32164790
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть процедура, в ней открывается курсор, проходя по курсору, путем
сложного запроса выясняется для каждой строки еще одно поле, потом все это запихивается в отчет(прямо в процедуре, будь это на клиенте, проблемы бы не было). Т.е нужно как-то пройтись по курсору, добавить к нему поле и снова пересортировать. Насколько я знаю курсоры forwardonly, кроме временных таблиц как можно это сделать?
oracle 8.0.6
...
Рейтинг: 0 / 0
как пересортировать курсор
    #32165045
raven13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как добавляется поле?
Может имеется возможность добавить его сразу ;-) или использовать в сортировке ?
...
Рейтинг: 0 / 0
как пересортировать курсор
    #32165063
Sintetik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я не точно описал, просто в цикле для каждой строки находится еще одно значение, реально оно конечно не добавляется, если б можно было я бы добавил сразу, запрос в курсоре и так на страницу.
...
Рейтинг: 0 / 0
как пересортировать курсор
    #32165586
Фотография 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
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как пересортировать курсор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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