Edit-DB Edit-DB
(c) Nigel Maddocks, 2007
Edit-DB ver 2.05.016, Doc ver 2.05.016

10.2.1. Oracle Packages and Package Body

Oracle Stored Procedures and Functions are often not held individually within the database, but instead within a Package. If the procedures and functions are directly used from a client, then their names should be qualified by the Package name (package.procedure).

Procedures and Functions residing within a Package have their logic defined in a Package Body. Such objects can refer to each other without needing qualification, and any such object can make calls on any other object within the same Package. Any Procedures and Functions that are to be used by external clients must be declared in a Package.

Packages are listed when selecting Packages in the Object type drop-down in the Object-Type frame.

Package Bodies are listed when selecting Package Body in the Object type drop-down in the Object-Type frame.

Packages can be viewed, edited and deleted using that standard buttons. They should only contain the signature of the procedures or functions (or other objects) i.e. the object name, parameters and return type.

Package Bodies can be viewed, edited and deleted using that standard buttons. They should contain the full definitions of the objects contained within. When Viewing a Package Body, the whole object is scanned for Procedure and Function definitions. Where they are found, links are displayed at the top of the Package Body to enable quick navigation to the individual Procedures and Functions.

Changes to Packages and Package Bodies can be saved without their contents being valid. Any invalid Packages, Package Bodies, Stored Procedures, Functions, Sequences, Object Types or Collection Types are listed with Invalid! to the right of the name. When viewing the object definitions, any Invalid objects have their known errors listed before their definitions. If there are no errors displayed for an invalid object, then a re-compilation might solve the issue. An object can be recompiled by pressing the buttons Edit followed by Update.