Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
07.08.2002, 12:48
|
|||
---|---|---|---|
|
|||
Курсор и except |
|||
#18+
Вопрос в следующем: есть табличка с данными и есть запрос выбирающий результат функции над строками. Если, скажем, на 4 строчке в функции вылетает exception, то курсор считает только первые три строчки и все! Можно ли продолжить считывание из курсора после этой ошибочный строчки? Вот пример: TST ----- 11 22 33 declare cursor c1 is select to_number(n) n from tst; rc c1%rowtype; begin open c1; fetch c1 into rc; while c1%found loop begin fetch c1 into rc; dbms_output.put_line(to_char(rc.n)); exception when others then NULL;--хотелось бы пропустить ошибочную строку!! end; end loop; end; ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.08.2002, 15:08
|
|||
---|---|---|---|
|
|||
Курсор и except |
|||
#18+
Мне кажется, что тут просто надо разобраться с типами данных в этих строках: если там должны быть одни лишь цифры, то что в этих строках делает 'qq'? Ставишь number и автоматически исключаешь подобную ситуацию еще на уровне ввода данных. А если ты описАл сильно упрощенный случай, то, имхо, тут предварительно надо прогонять процедуру, проверяющую допустимость значений в строках TST, а потом уже вышеописанный курсор. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=52&mobile=1&tid=1993194]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
46ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 158ms |
0 / 0 |