| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Что с циклом, почему так работает ??? |
| Автор: Marriage 26.10.2005, 12:26 | ||
|
| Автор: LSD 26.10.2005, 12:53 |
| По курсору можно пройтись только один раз. Чтобы пройтись по нему еще раз надо его открыть заново, но сам понимаешь это новый запрос и результат может отличаться от предыдущего. |
| Автор: Marriage 26.10.2005, 13:43 | ||||
Как ??? Пишу
Выдет ошибку ... |
| Автор: LSD 26.10.2005, 13:50 |
| После close cMKB10, выполни open cMKB10. |
| Автор: Marriage 26.10.2005, 14:18 |
| Не , при Close cMKB10 пишет "invalid cursor", до open cMKB10 даже дело не дойдет. |
| Автор: LSD 30.10.2005, 18:42 | ||||
На восьмерке проверить пока не могу, но на 10-ке такой код работает без проблем:
В результате получаю:
|
| Автор: igon 31.10.2005, 01:31 | ||
Другое дело - почему второй вызов сложной, но той же самой конструкции приводит к другим результатам? Как видно из текста курсора, используется иерархический запрос, причем с непонятно откуда взятым параметром nID (fk_id и fk_owner тоже хорошо бы пояснить). Далее, используется курсор с параметром curNaz. Его текст также хорошо бы увидеть. Могу только предположить, но, например, если nID - некая переменная в хранимой, которая меняется во время/после работы первого M1, результат работы второго M1 вполне может быть иным... Попробуй сделать тестовую таблицу сходной структуры с 10-15 записями и на ней протестировать хранимую (убрать, например, START WITH и CONNECT BY PRIOR). Если проблема останется, запости сюда все нужные данные (минимум!!! |
| Автор: Marriage 4.11.2005, 11:39 | ||||||||||||||
Это параметр функции
FK_ID - идешник записи в таблице. FK_OWNER - По этому полю отбираються все "дети" . То есть... FK_ID FK_OWNER FC_NAME 1 0 a 2 0 b 3 1 c 4 2 d 5 2 e Иерархия следующая
и
А разве он может чем-нибудь навредить ??? Я бы привел , но я уже не могу привести код пока, так как нахожусь далеко от рабочьего места ...
НЕт , не меняеться...
Приеду домой , попробую проверить. |