powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / implicit cursor подводные камни
7 сообщений из 7, страница 1 из 1
implicit cursor подводные камни
    #39432529
israelshamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Есть pipelined функция в теле которой объявлен курсор. Запрос на котором он основан возвращает ~ 16к строк.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
FOR report_row IN data_for_report(task_id_IN) LOOP

...много вычислений...

    PIPE ROW
    (schema_name.t_location_of_executors_row  -- [color=red]это udt[/color]
      (
        col1
       ,col2
       ,...
       ,col18
      )
    );
END LOOP;


Собственно, отчет, который строится на основе этой функции должен содержать ~ 16к строк, но в итоге получается 589.
Вопрос: какие есть нюансы при работе c implicit cursor могущие привести к такому результату(выборка обрезана, сообщений об ошибках нет)?
Гугл либо не знает ответ на этот вопрос, либо я плохо его формулирую. Может кто ссылкой поделится на годный материал, в котором я смогу найти ответ...
...
Рейтинг: 0 / 0
implicit cursor подводные камни
    #39432531
israelshamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
israelshamir,

не пойму, как здесь текст подсвечивать правильно... Опять криво
...
Рейтинг: 0 / 0
implicit cursor подводные камни
    #39432561
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
israelshamir
Код: plsql
1.
...много вычислений...

На 590-ой строке там no_data_found
...
Рейтинг: 0 / 0
implicit cursor подводные камни
    #39432565
israelshamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
israelshamirДоброго времени суток.

Есть pipelined функция в теле которой объявлен курсор. Запрос на котором он основан возвращает ~ 16к строк.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
FOR report_row IN data_for_report(task_id_IN) LOOP

...много вычислений...

    PIPE ROW
    (schema_name.t_location_of_executors_row  -- [color=red]это udt[/color]
      (
        col1
       ,col2
       ,...
       ,col18
      )
    );
END LOOP;


Собственно, отчет, который строится на основе этой функции должен содержать ~ 16к строк, но в итоге получается 589.
Вопрос: какие есть нюансы при работе c implicit cursor могущие привести к такому результату(выборка обрезана, сообщений об ошибках нет)?
Гугл либо не знает ответ на этот вопрос, либо я плохо его формулирую. Может кто ссылкой поделится на годный материал, в котором я смогу найти ответ...

Заблы, извиняюсь, task_id_IN в параметре курсора в данном случае null по умолчанию и на выборку в курсоре не влияет.
...
Рейтинг: 0 / 0
implicit cursor подводные камни
    #39432570
israelshamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elicisraelshamir
Код: plsql
1.
...много вычислений...

На 590-ой строке там no_data_found

Спасибо за ответ, сейчас проверю.
...
Рейтинг: 0 / 0
implicit cursor подводные камни
    #39432627
israelshamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
israelshamirElicпропущено...
На 590-ой строке там no_data_found

Спасибо за ответ, сейчас проверю.

Так и есть, в PIPE ROW колонка UDT обернута в функцию, в которой возникает NO_DATA_FOUND.

Еще раз спасибо, Elic.
...
Рейтинг: 0 / 0
implicit cursor подводные камни
    #39432633
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / implicit cursor подводные камни
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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