Это неправильно:
aki_1 DATE := TRUNC (ln_graph_debt.date_red);
Вы не можете ссылаться на таблицу таким образом; вам нужно будет SELECT
в переменную или написать функцию, которая будет возвращать значение.
select d.date_red
into aki_1
from ln_graph_debt d
where ...
WHERE
предложение должно содержать условие, чтобы SELECT
возвращало только одно значение; в противном случае вы получите TOO-MANY-ROWS
(или, возможно, NO-DATA-FOUND
).
Также есть очевидная ошибка, лишняя DECLARE
внутри IF
. Вы, вероятно, хотели это прокомментировать?