Genau, in Ora würde ich fast immer zu Packages raten.
Damit kannst du auch viel optimieren, weil Packag variablen die ganze Session lang leben. So können Funktionen Werte wiederverwenden oder Cursor in Chunks in Listen packen und diese als ein Stück in deiner Delphi App benutzen. (Siehe Jbgs Geschwindigkeits Thread
)
Der
Package Wizzard spart einem viel Wrapper code. (Man sollte sich nur angewöhnen diese komische DefaultTable rauszulöschen, die nervt
)
btw: Packages sind meist einfach hübscher, da man Funktionen bündeln kann.
Und wenn man eine Funktion nur innerhalb des Packages braucht, deklariert man sie nicht in den Specs, wodurch sie außerhalb nicht sichtbar ist.