Member 13783212 Ответов: 1

PLS-00103: столкнулся с символом "добавить" при ожидании одного из следующих действий: in like like2 like4 likec between member submultiset


Создать или заменить триггер MOA_patcharges_balance
Прежде чем вставить на patcharges
ДЛЯ КАЖДОЙ СТРОКИ
ОБЪЯВЛЯТЬ
v_outstanding количество;
исключение both_null;
исключение both_not_null;
НАЧАТЬ
Выберите Moa_patcharges.outstanding в v_outstanding
От Moa_patcharges
Где Moa_patcharges.patID= :new.patID и
entryDate = (выберите MAX(entryDate) из Moa_patcharges
Где Moa_patcharges.patID= :new.patID);
Если (:новый.выплаты не null и :новый.обвинения не null)
Затем поднимите both_not_null;
КОНЕЦ, ЕСЛИ;
Если (:новый.выплаты не имеет :новые.обвинения имеет значение null)
Затем поднимите both_null;
КОНЕЦ, ЕСЛИ;
Если (:new.charges не равно NULL и :new.payments равно NULL)
Затем поднимите charge_not_null;
КОНЕЦ, ЕСЛИ;
Если (:новый.выплаты не null и :новый.обвинения имеет значение null)
Затем поднимите payments_not_null;
КОНЕЦ, ЕСЛИ;
ИСКЛЮЧЕНИЕ
Когда charges_not_null тогда
:new.outstanding := v_outstanding + :new.charges;
dbms_output.put_line ('это новый баланс' || TO_CHAR(:new.outstanding));
Когда payments_not_null тогда
:new.outstanding := v_outstanding - :new.payments;
dbms_output.put_line('это новый баланс' || TO_CHAR(:new.outstanding));
Когда both_null тогда
RAISE_APPLICATION_ERROR (-20325, не может добавлять запись как с информацией об оплате, так и с информацией о платеже.');
Когда оба равны нулю, то
RAISE_APPLICATION_ERROR (-20325, 'не может добавлять запись как с информацией об оплате, так и с информацией о платеже'.);
КОНЕЦ;
/

Что я уже пробовал:

ИСКЛЮЧЕНИЕ
Когда charges_not_null тогда
:new.outstanding := v_outstanding + :new.charges;
dbms_output.put_line ('это новый баланс' || TO_CHAR(:new.outstanding));
Когда payments_not_null тогда
:new.outstanding := v_outstanding - :new.payments;
dbms_output.put_line('это новый баланс' || TO_CHAR(:new.outstanding));
Когда both_null тогда

_Asif_

Похоже, что вы пропустили здесь одну цитату "RAISE_APPLICATION_ERROR (-20325, 'не может добавить запись как с информацией об оплате, так и с информацией о платеже".)"

1 Ответов

Рейтинг:
0

Jochen Arndt

Видишь эту линию

RAISE_APPLICATION_ERROR (-20325, May not add a record with both payment and charge information.');
Символ кавычки в начале строки сообщения отсутствует.

Это было бы очевидно при форматировании кода как такового в вопросе или использовании редактора с подсветкой синтаксиса:
RAISE_APPLICATION_ERROR (-20325, 'May not add a record with both payment and charge information.');