Причина ошибки «Слишком много значений» заключается в том, что в ваших операторах выбора вы делаете следующее:
NVL((SELECT R.SUBTOTAL FROM HOLIDAY_RESERVATION R WHERE R.RESV_ID = :NEW.INV_ID), 0) ' 1 value
NVL((SELECT R.SUBTOTAL, (R.SUBTOTAL*20)/100 FROM HOLIDAY_RESERVATION R WHERE R.RESV_ID = :NEW.RESV_ID),0) ' gives 2 values (subtotal, subtotal*20 / 100)
Вызов NVL с двумя значениями выдает ORA-00913. Даже если этого не произойдет, он в конечном итоге выкинет, когда вы попытаетесь добавить 1 значение с 2.
Кроме того, я бы установил полностью определенные имена схем рядом с каждым объявлением.