Я чувствую, что этот код работает весь день, но внезапно он больше не работает, и я не могу найти решение.Функция PL/SQL перестает работать после цикла
Этот цикл внутри большой функции, поэтому я выложу только это:
FOR i in 0..t_strGroups.count
LOOP
newStudentNumber := newStudentNumber || t_strGroups(i) || ' ';
dbms_output.put_line(newStudentNumber); -- this outputs fine
END LOOP;
dbms_output.put_line('test'); --this line doesn't output
При тестировании, где функция перестала работать, я обнаружил, что после этого цикла я больше не могу выходные линии. Кто-нибудь знает, что могло бы произойти здесь?
Заранее благодарен!
цикл находится внутри 'begin'' end;' .. correct? и вы возвращаете значение? – Moudiz
yup, странно, что он работал весь день, я пытаюсь перевернуть коллекцию позже в коде, но он больше не достигает этой части функции. –
Блок PL/SQL не просто прекратит выполнение. Возможно, исключение выбрасывается где-то внутри цикла и поглощается плохо написанным обработчиком исключений, который здесь не показан. Возможно, вы просто не видите последнюю строку, потому что ваш графический интерфейс не захватывает последнюю строку из буфера 'dbms_output'. Возможно, ваш буфер 'dbms_output' просто невелик. –