powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / многократное использование курсора
7 сообщений из 7, страница 1 из 1
многократное использование курсора
    #32017220
Maykmod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема заключается в следующем:

В хранимой процедуре необходимо многократно выбирать данные из курсора. В документации прочитал, что возможности перейти на начало курсора нет. Для повторнрго использования курсора
предлагается его открывать вновь. Проблемма заключается в том, что цикл выполняется всего один раз. После первого закрытия курсора происходит выход из процедуры. Подскажите, что я делаю не правильно. Привожу условный фрагмент текста из процедуры :

CURSOR curTest is (SELECT ID_TESTNAME FROM SD_TEST WHERE NAME='xxx');
idName Number;

BEGIN
.
.
.
WHILE (i < 20) LOOP
.
.
.
OPEN curTest; loop
FETCH curRoute INTO idName;
if curTest%FOUND then
INSERT INTO SD_TEMPNAME (ID_NAME) VALUES (idName);
else CLOSE curTest;
end if;
END LOOP;
.
.
.
i:=i+1;
END LOOP;
.
.
.
END;
...
Рейтинг: 0 / 0
многократное использование курсора
    #32017223
Docent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за курсор у тебя CurRoute, вроде начинаешь работать с curTest, а данные выбираешь из CurRoute?
...
Рейтинг: 0 / 0
многократное использование курсора
    #32017233
Maykmod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно конечно читать curTest. Простите, очепятка.
...
Рейтинг: 0 / 0
многократное использование курсора
    #32017450
ina br
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
After insert to the table you can do another operation on your id and you don't need to open the cursor once more.
...
Рейтинг: 0 / 0
многократное использование курсора
    #32017528
Maykmod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю за помощь. Код работает. После переустановки ОС и сервера, проблемма исчезла.
...
Рейтинг: 0 / 0
многократное использование курсора
    #32017533
Maykmod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На самом деле помимо простого инсерта в таблицу, происходит еще ряд вычислений. В целом алгоритм требует при каждом проходе оператора while сканировать курсор от 0 до max. К сожалению, не смог найти возможности установки курсора на начальную позицию после его использования (предлагается его открывать повторно). Если кто-нибудь знает о такой возможности, буду премного благодарен.
...
Рейтинг: 0 / 0
многократное использование курсора
    #32018004
RetLion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если тебя не интересуют новые данные, ты при первом проходе можешь отсканить весь курсор и залить в динамическую таблицку, а далее используй её сколько угодно.
ТОлько не забудь по окончанию её очистить...
С уважением RetLion
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / многократное использование курсора
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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