Zu dem Gesagten noch ein paar Gedanken:
Triggerlösung o.ä. würde ich aus Konsistenzgründen immer bevorzugen!
Die Lagerlogik käme ja sinngemäß nicht unbedingt bei Rechnungsstellung, sondern bei Bestellung?
Ich kann mir nicht vorstellen, dass eine besondere Last an der Stelle entsteht, vielleicht gibt es Tagespeaks, wenn besonders viele Bestellungen ausgeführt werden, aber es ist etwas anderes als ein Batch Lauf. Trigger sind nicht schön, aber keine unglaublichen Ressourcenfresser- an sich-, ein unglückliches Select Statement im Trigger, ein fehlender Index, .. dagegen ein Problem, nicht nur im Trigger.
Die Oracle
Package Variablen sind m.E. relativ einzigartig, sowas kann man vermutlich allgemein nur mit einer Mittelschicht nachbilden, die ja offenbar nicht existiert. Ich weiß auch nicht, ob ich das an der Stelle einsetzen würde. So oder so, es ist ja kein Oracle System.