PLSQL столкнулся с символом "end-offile"... PLS-00103
Я совершенно новичок в PL SQL, когда я попытался написать что-то вроде следующего:
BEGIN FOR foo IN (SELECT A, B, C FROM foo_table WHERE some_conditions) LOOP
DBMS_OUTPUT.PUT_LINE('sth here')
END LOOP;
Я получил следующую ошибку при выполнении проверки в SQL Developer
Обнаружен символ "конец файла", когда ожидается следующее: начальный регистр, объявить конечное исключение и многое другое...
Что не так с моим утверждением? Может ли кто-нибудь дать мне совет, как решить эту проблему? Я буду очень рад за все намеки.
2 ответа
А также пропустить ;
end;
тоже отсутствует Этот код должен работать:
BEGIN FOR foo IN (SELECT A, B, C FROM foo_table WHERE some_conditions) LOOP
DBMS_OUTPUT.PUT_LINE('sth here');
END LOOP;
END;
Вы скучаете по end
Ключевое слово, чтобы закрыть begin
,
Подобные вещи имеют тенденцию бросаться в глаза при форматировании кода.
begin
for foo in (
select a, b, c from foo_table where some_conditions
)
loop
dbms_output.put_line('sth here');
end loop;
(Редактировать: почему-то я пропустил правильный ответ Джона перед публикацией.)