Ошибка указывает на наличие синтаксической проблемы рядом с ключевым словом EXCEPTION
. Но ваша схема кода не означает, что в любом из ваших блоков есть раздел исключений. Это затрудняет оказание нам большой помощи.
В комментарии вы, кажется, указываете, что по крайней мере один из блоков в вашей структуре имеет раздел исключений. Можете ли вы опубликовать фактический код (или, по крайней мере, более подробный план, включающий синтаксис любого блока исключения, который генерирует ошибку)?
Кроме того, в комментарии звучит так, будто в вашей функции есть оператор RETURN
, который возвращает какой-то код состояния. Использование кодов возврата из функций почти всегда является ошибкой - гораздо надежнее просто выбросить исключение (или, что еще лучше, разрешить распространению созданного исключения). Как правило, ошибочно писать в PL / SQL функцию, которая выполняет DML - если вы выполняете DML, вы почти всегда хотите, чтобы это было сделано в процедуре.